Seamless_rotate on empty index 3.0.2


#1

When i start indexer --rotate on empty index indexer creates a .new.sp files and send SIGHUP to searchd. Searchd writes something like that:

caught SIGHUP (seamless=1, in_rotate=0, need_rotate=0)
WARNING: nothing to rotate after SIGHUP

After restart it renames the .new.sp to .sp. But is it normal behavior? In pure Sphinx and previous versions it worked fine.

Thanks in advance


#2

When receives SIGHUP, searchd looks for new indexes ONLY if detects changes in config file since was loaded at startup.

If your plain index was already setup in config when searchd started:

  • index without rotate and trigger a “RELOAD INDEXES”
  • modify config (add a space or something) and use “indexer myindex --rotate”

#3

not quite clear - do you try to rotate index not from the config?

Could you provide you config, and full searchd log from daemon start to after rotation?


#4

I just tried on manticore 2.4.1 and it worked fine. I don’t want to add any spaces in my config.


#5

Here is part of my configuration:

index mdb_morf_idx : mdb_base_idx
{
preopen = 1

min_stemming_len = 4
min_word_len = 1
index_exact_words = 1

index_sp = 1


}

index mdb_morf_delta_idx : mdb_morf_idx
{
source = mdb_morf_delta
source = mdb_morf_delta_kl
path = /usr/local/var/data/mdb_morf_delta_idx/mdb_morf_delta_idx
}

I start a searchd daemon and index the index from config, that was no indexed before:

indexer --config /usr/local/etc/sphinx.conf --rotate mdb_morf_delta_idx

And i see following log:

[Wed Aug 21 13:42:21.921 2019] [32767] caught SIGHUP (seamless=1, in_rotate=0, need_rotate=0)
[Wed Aug 21 13:42:21.925 2019] [32767] WARNING: nothing to rotate after SIGHUP

And files are not renamed


#6

as Adrian said seems indexes rotate rotates only available indexes or pick up indexes on config change.

Could you use SphinxQL “RELOAD INDEXES” statement?