Skip to content
This repository has been archived by the owner on May 4, 2023. It is now read-only.

Search Timeout with BigCouch #176

Open
jfgirard opened this issue Jul 15, 2013 · 30 comments
Open

Search Timeout with BigCouch #176

jfgirard opened this issue Jul 15, 2013 · 30 comments

Comments

@jfgirard
Copy link

Im using couchdb-lucene with couchdb with no issue. I do my queries on the jetty server through a nodejs server.

I want to use BigCouch but I can't make it work. I always get a timeout.

curl localhost:5985/local/data_96e130282817487a71d73b73fa1049f5/_design/js/all?q=hello
{"reason":"Search timed out.","code":500}

Logs:

bin:$ ./run
2013-07-15 16:28:26,203 INFO [Config] Index output goes to: /gitroot/couchdb-    lucene/target/couchdb-lucene-0.9.0-SNAPSHOT/indexes
2013-07-15 16:28:26,221 INFO [Main] Accepting connections with [email protected]:5985
2013-07-15 16:28:29,573 INFO [data_96e130282817487a71d73b73fa1049f5] Indexing from update_seq start
2013-07-15 16:28:39,607 WARN [log] /local/data_96e130282817487a71d73b73fa1049f5/_design/js/all: java.io.IOException: Search timed out.
2013-07-15 16:28:44,641 INFO [data_96e130282817487a71d73b73fa1049f5] View[name=_design/js/all, digest=utxtbbct89n07w77054dx35b] now at update_seq [9,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjF2MDTQM9Az1DMzzAFKMCUyJMn___8_K5EZrsQErsQIrCRJAUgm2YNVMeE0KMkBpCoeSVVxTn45XJW5MURVAkhVPVgVA9wsQ5gqU4hZeSxAkqEBSAEVzkdWie42iMoFEJX7kd2H3cwDEJX3CZv5AKIS5M4sAGSoVtk"]
2013-07-15 16:28:47,834 WARN [log] /local/data_96e130282817487a71d73b73fa1049f5/_design/js/all: java.io.IOException: Search timed out.
2013-07-15 16:29:02,870 WARN [log] /local/data_96e130282817487a71d73b73fa1049f5/_design/js/all: java.io.IOException: Search timed out.

How can I find out what is wrong ?

I use the latest (master) couchdb-lucene with bigcouch 0.4. Timeout is 10000 and I have less then 10 docs in the database.

@jfgirard
Copy link
Author

in fact, the log I put was from a 0.9 couchdb-lucene. But its the same thing with 0.10...

[root@server2 bin]# ./run
2013-07-15 12:40:20,184 INFO [Config] Index output goes to: /opt/couchdb-lucene/target/couchdb-lucene-0.10.0-SNAPSHOT/indexes 
2013-07-15 12:40:20,205 INFO [Main] Accepting connections with [email protected]:5985
2013-07-15 12:40:47,274 INFO [data_96e130282817487a71d73b73fa1049f5] Indexing from update_seq start
2013-07-15 12:40:57,308 WARN [log] /local/data_96e130282817487a71d73b73fa1049f5/_design/js/all: java.io.IOException: Search timed out.
2013-07-15 12:41:02,358 INFO [data_96e130282817487a71d73b73fa1049f5] View[name=_design/js/all, digest=utxtbbct89n07w77054dx35b] now at update_seq [10,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjF2MDTQM9Az1DMzzAFKMCUyJMn___8_K5EFrsQIpsTUCKwkSQFIJtmDVTHhNCjJAaQqHklVcU5-OVyVuTFEVQJIVT1YFQPcLEO4jRCz8liAJEMDkAIqnI-s0gRuqxGSygUQlfvx2QxReQCi8j5hMx9AVILcmQUAa11W9A"]

@rnewson
Copy link
Owner

rnewson commented Jul 15, 2013

Anything interesting in the bigcouch log?

@jfgirard
Copy link
Author

I don't if its related... I have a bunch of these:

[Mon, 15 Jul 2013 17:25:29 GMT] [info] [<0.5766.0>] [--------] Shutting down group server <<"_design/native">>, db <0.274.0> closing w/ reason
killed
[Mon, 15 Jul 2013 17:25:29 GMT] [info] [<0.5771.0>] [--------] Shutting down group server <<"_design/native">>, db <0.275.0> closing w/ reason
killed
 [Mon, 15 Jul 2013 17:25:29 GMT] [info] [<0.5776.0>] [--------] Shutting down group server <<"_design/native">>, db <0.276.0> closing w/ reason
killed

@rnewson
Copy link
Owner

rnewson commented Jul 15, 2013

Grab the url that couchdb-lucene is trying from the log and try it independently on the command line?

@jfgirard
Copy link
Author

I set the log level of bigcouch to debug...

I can see couchdb-lucene queries but no error ??

doing a cURL
curl 'admin:password@localhost:5984/data_96e130282817487a71d73b73fa11a82a/_changes?limit=0&descending=true' looks good.

[Mon, 15 Jul 2013 17:50:40 GMT] [info] [<0.2122.0>] [b818c4ed] undefined - - 'GET' /data_96e130282817487a71d73b73fa11a82a/ 200
[Mon, 15 Jul 2013 17:50:40 GMT] [info] [<0.2122.0>] [b818c4ed] 127.0.0.1 localhost:5984 GET /data_96e130282817487a71d73b73fa11a82a/ 200 ok 24
[Mon, 15 Jul 2013 17:50:40 GMT] [info] [<0.2122.0>] [a63be149] undefined - - 'GET' /data_96e130282817487a71d73b73fa11a82a/_local%2Flucene 200
[Mon, 15 Jul 2013 17:50:40 GMT] [info] [<0.2122.0>] [a63be149] 127.0.0.1 localhost:5984 GET /data_96e130282817487a71d73b73fa11a82a/_local%2Flucene 200 ok 3
[Mon, 15 Jul 2013 17:50:40 GMT] [info] [<0.2122.0>] [da629301] undefined - - 'GET' /data_96e130282817487a71d73b73fa11a82a/ 200
[Mon, 15 Jul 2013 17:50:40 GMT] [info] [<0.2122.0>] [da629301] 127.0.0.1 localhost:5984 GET /data_96e130282817487a71d73b73fa11a82a/ 200 ok 9
[Mon, 15 Jul 2013 17:50:40 GMT] [info] [<0.2122.0>] [21082f9d] undefined - - 'GET' /data_96e130282817487a71d73b73fa11a82a/_all_docs?startkey=%22_design%22&endkey=%22_design0%22&include_docs=true 200
[Mon, 15 Jul 2013 17:50:40 GMT] [info] [<0.2122.0>] [21082f9d] 127.0.0.1 localhost:5984 GET /data_96e130282817487a71d73b73fa11a82a/_all_docs?startkey=%22_design%22&endkey=%22_design0%22&include_docs=true 200 ok 20
[Mon, 15 Jul 2013 17:50:41 GMT] [info] [<0.2122.0>] [fcc27315] undefined - - 'GET' /data_96e130282817487a71d73b73fa11a82a/_changes?limit=0&descending=true 200
[Mon, 15 Jul 2013 17:50:41 GMT] [info] [<0.2122.0>] [fcc27315] 127.0.0.1 localhost:5984 GET /data_96e130282817487a71d73b73fa11a82a/_changes?limit=0&descending=true 200 ok 18
[Mon, 15 Jul 2013 17:50:56 GMT] [info] [<0.2123.0>] [30795c51] undefined - - 'GET' /data_96e130282817487a71d73b73fa11a82a/_changes?feed=continuous&heartbeat=15000&include_docs=true&since=%5B21%2C%22g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5EFrsQEpsQMoiRJAUgm2YNVscFVGcNVGUJUOYBUxYNVMeE2KwGkqh5NFbpZeSxAkqEBSAEVzs9KZMVpHkTlAojK_VmJDATMPABReR_ZdkN4kCCrfABRCXQnQxYAWzRWzQ%22%5D 200
[Mon, 15 Jul 2013 17:51:17 GMT] [info] [<0.2122.0>] [492a69e7] undefined - - 'GET' /data_96e130282817487a71d73b73fa11a82a/_changes?limit=0&descending=true 200
[Mon, 15 Jul 2013 17:51:17 GMT] [info] [<0.2122.0>] [492a69e7] 127.0.0.1 localhost:5984 GET /data_96e130282817487a71d73b73fa11a82a/_changes?limit=0&descending=true 200 ok 14
[Mon, 15 Jul 2013 17:51:28 GMT] [info] [<0.2122.0>] [ae914982] undefined - - 'GET' /data_96e130282817487a71d73b73fa11a82a/_changes?limit=0&descending=true 200
[Mon, 15 Jul 2013 17:51:28 GMT] [info] [<0.2122.0>] [ae914982] 127.0.0.1 localhost:5984 GET /data_96e130282817487a71d73b73fa11a82a/_changes?limit=0&descending=true 200 ok 11

@rnewson
Copy link
Owner

rnewson commented Jul 15, 2013

Thanks. I'll try it out tomorrow and see if I can get the same error.

@jfgirard
Copy link
Author

I did many more tests and its driving me crazy...

if I don't set the security on the database, it works fine. If I secure it, it timeout. But if i remove the security, then it still doesn't work.

screen shot 2013-07-15 at 8 46 01 pm

curl 10.0.1.52:5985/local/data_96e130282817487a71d73b73fa1a7e43/_design/js/all?q=bar*
{"limit":25,"etag":"24d65ff19390","fetch_duration":0,"q":"default:bar*","search_duration":10,"total_rows":1,"skip":0,"rows":[{"id":"test","score":1}]}bin:$

Then I change the security

screen shot 2013-07-15 at 8 49 32 pm

curl 10.0.1.52:5985/local/data_96e130282817487a71d73b73fa1a7e43/_design/js/all?q=bar*
{"reason":"Search timed out.","code":500}

broken...

Ok, then put it back to no security but I have the same time error...

The url contains the admin:password@localhost:5984 couchdb-lucene.ini... and the bigcouch log do not have 401 requests from couchdb-lucene after the db is secure.

The other issue (maybe related ?) is if a replicate the database (futon replicator), for some target database name, it can't copy the two design docs:

{"session_id":"84bf95b8d4690f7c2dfa3be91783ed95","start_time":"Mon, 15 Jul 2013 21:15:04 GMT","end_time":"Mon, 15 Jul 2013 21:15:04 GMT","start_last_seq":0,"end_last_seq":[2,"g1AAAAFDeJzLYWBg4MhgTmHgL87JLzd0MDTQM9Az1DM3zAFKMCUyJMn___8_K5EBrsQYrsQYrCRJAUgm2YNVMcJVGcFVGUFUOYBUxaOpQrcuKQGkqp6AjXksQJKhAUgBFc5HVoluK0TlAojK_cgq0W2GqDwAUXmfsO0PICpB7swCAM7JV3g"],"recorded_seq":[2,"g1AAAAFDeJzLYWBg4MhgTmHgL87JLzd0MDTQM9Az1DM3zAFKMCUyJMn___8_K5EBrsQYrsQYrCRJAUgm2YNVMcJVGcFVGUFUOYBUxaOpQrcuKQGkqp6AjXksQJKhAUgBFc5HVoluK0TlAojK_cgq0W2GqDwAUXmfsO0PICpB7swCAM7JV3g"],"missing_checked":0,"missing_found":2,"docs_read":2,"docs_written":0,"doc_write_failures":2}

For target database "foo", it can't copy. But for "foo_foo", its alright!

{"session_id":"c3ec8583dbf531138dc0c49e38bd3b76","start_time":"Mon, 15 Jul 2013 21:10:27 GMT","end_time":"Mon, 15 Jul 2013 21:10:27 GMT","start_last_seq":0,"end_last_seq":[2,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjF2MDTQM9Az1DMzzAFKMCUyJMn___8_K5EBrKQ4J78crsTcGKwkSQFIJtmDVTHiNCjJAaQqHk2VIUyVKVRVAkhVPZKN2MzKYwGSDA1ACqhwPrJKdPMgKhdAVO4nbOYBiMr7hM18AFEJcmcWAGIXVsk"],"recorded_seq":[2,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjF2MDTQM9Az1DMzzAFKMCUyJMn___8_K5EBrKQ4J78crsTcGKwkSQFIJtmDVTHiNCjJAaQqHk2VIUyVKVRVAkhVPZKN2MzKYwGSDA1ACqhwPrJKdPMgKhdAVO4nbOYBiMr7hM18AFEJcmcWAGIXVsk"],"missing_checked":0,"missing_found":2,"docs_read":2,"docs_written":2,"doc_write_failures":0}

Regular queries on the bigcouch cluster works as expected... It can GET, PUT, POST, docs without issues.

Any ideas to fix this would be very much welcome.

Thanks.

@rnewson
Copy link
Owner

rnewson commented Jul 16, 2013

Getting closer. It seems couchdb-lucene does send the _changes call to index new changes but does not get a response from bigcouch 0.4. The timeout then fires (as expected).

@rnewson
Copy link
Owner

rnewson commented Jul 16, 2013

In my test, couchdb-lucene is expecting a higher last_seq than the database sends in the changes feed. Quite strange.

@rnewson
Copy link
Owner

rnewson commented Jul 16, 2013

Could you show the output of the following two commands to confirm this?

  1. "curl host:port/databasename" and report the value of "update_seq"
  2. "curl host:port/databasename/_changes" and report the value of "last_seq" right at the end.

This seems like a bug in bigcouch's _changes feed when descending=true, which is how bigcouch figures out what update sequence to wait for. Since it never appears, the search eventually times out.

@jfgirard
Copy link
Author

Here it is:
1.
curl 10.0.1.52:5984/data_b8008162df528b2008b72781dc007b94/
{"db_name":"data_b8008162df528b2008b72781dc007b94","update_seq":[13,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjF0MDTQM9Az1DM1zAFKMCUyJMn___8_K5EJrsQIrsQIrCRJAUgm2YNVMeM0KMkBpCqekFkJIFX1YFWMOM3KYwGSDA1ACqhwPrJKdPMgKhdAVO4nbOYBiMr7-NwIUfkAohLkziwARWZWsw"],"purge_seq":0,"other":{"data_size":11873},"doc_del_count":0,"doc_count":5,"disk_size":139940,"disk_format_version":5,"compact_running":false,"instance_start_time":"0"}

curl 10.0.1.52:5984/data_b8008162df528b2008b72781dc007b94/_changes
...
"last_seq":[5,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFxMDTQM9Az1DMzygFKMCUyJMn___8_K5ERrsQIpsQUoiRJAUgm2YNVMeE0KMkBpCqekFkJIFX1YFUMYFXFOfnlxjBV5sZgVXksQJKhAUgBFc6HqcRmHkTlAojK_cgq0d0HUXkAovI-PjdCVD6AqAS5MwsAXwhW1w"]

@jfgirard
Copy link
Author

In the couchdb-lucene console, it output:

2013-07-16 03:29:14,023 INFO [data_b8008162df528b2008b72781dc007b94] Indexing from update_seq [5,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjF0MDTQM9Az1DM1zAFKMCUyJMn___8_K5ERrKQ4J7_cGKbE3BisJEkBSCbZg1Ux4TQoyQGkKh7JLJAqI7gqI4iqBJCqerAqBpw25rEASYYGIAVUOB-mEpt5EJULICr3I6tEdx9E5QGIyvv43AhR-QCiEuTOLABwOlbj"]
2013-07-16 03:29:24,045 WARN [log] /local/data_b8008162df528b2008b72781dc007b94/_design/js/all: java.io.IOException: Search timed out.

@jfgirard
Copy link
Author

No security set:

bin:$ curl 10.0.1.52:5984/data_b8008162df528b2008b72781dc02a4bf/
{"db_name":"data_b8008162df528b2008b72781dc02a4bf","update_seq":[3,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjF0MDTQM9Az1DM1zAFKMCUyJMn___8_K5EBrsQIrsQIrCRJAUgm2YNVMeI0KMkBpCoeTRWGWQkgVfVoNqKblccCJBkagBRQ4Xx85kFULoCo3E_YzAMQlffx-Rei8gFEJcidWQA_GFap"],"purge_seq":0,"other":{"data_size":11134},"doc_del_count":0,"doc_count":3,"disk_size":62114,"disk_format_version":5,"compact_running":false,"instance_start_time":"0"}

bin:$ curl 10.0.1.52:5984/data_b8008162df528b2008b72781dc02a4bf/_changes
{"results":[
{"seq":[1,"g1AAAAHjeJzLYWBg4MlgTmHgL87JLzd2MDTQM9Az1DM3zgFKMCUyJMn___8_K5EBrCQtsbjECKbE1AisJEkBSCbZg1UxwlUZwlUZQlQ5gFTFo5llAlNlZoRDFchRcLPM8ZmF4a4EkKp6NFXo7spjAZIMDUAKqHA-PrdhVwlyH9xmc3wqsbkRonIBROV-ZDPRIwKi8gBE5X3CZj6AqAT5PQsAXYKBgw"],"id":"_design/native","changes":[{"rev":"1-14e8901b3f8d6c9179a58f684542cb15"}]},
{"seq":[2,"g1AAAAGPeJzLYWBg4MpgTmHgL87JLzd2MDTQM9Az1DM3zgFKMCUyJMn___8_K5EBrCQtsbjECKbE1AisJEkBSCbZg1UxwlUZwlUZQlQ5gFTFo5llAlNlZoRDFchRcLPM8ZmF4a4EkKp6NFXo7spjAZIMDUAKqHA-sg_QzYOoXABRuR_ZfeiBBlF5AKLyPj43QlQ-gKgEuTMLACq5a5I"],"id":"384f7c8141b84e7b37ba8fdbe100183b","changes":[{"rev":"1-4c6114c65e295552ab1019e2b046b10e"}]},
{"seq":[3,"g1AAAAFDeJzLYWBg4MhgTmHgL87JLzd2MDTQM9Az1DM3zgFKMCUyJMn___8_K5EBrCQtsbjECKbE1AisJEkBSCbZg1UxwlUZwlUZQlQ5gFTFo6nCMCsBpKoezUZ0s_JYgCRDA5ACKpyPzzyIygUQlfthZmLzKETlAYjK-_j8C1H5AKIS5M4sAGsJVuM"],"id":"_design/js","changes":[{"rev":"1-0c7e5e1b431b9624342bba75c24415f2"}]}
],
"last_seq":[3,"g1AAAAFDeJzLYWBg4MhgTmHgL87JLzd2MDTQM9Az1DM3zgFKMCUyJMn___8_K5EBrCQtsbjECKbE1AisJEkBSCbZg1UxwlUZwlUZQlQ5gFTFo6nCMCsBpKoezUZ0s_JYgCRDA5ACKpyPzzyIygUQlfthZmLzKETlAYjK-_j8C1H5AKIS5M4sAGsJVuM"]}

=> Both last_seq and are update_seq are the same.

I set the security.

curl 10.0.1.52:5984/data_b8008162df528b2008b72781dc02a4bf/
{"db_name":"data_b8008162df528b2008b72781dc02a4bf","update_seq":[11,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjF0MDTQM9Az1DM1zAFKMCUyJMn___8_K5ERrsQIrsQIrCRJAUgm2YNVMeE0KMkBpCoeTRWGWQkgVfVoNqKblccCJBkagBRQ4Xx85kFULoCo3E_YzAMQlffx-Rei8gFEJcidWQBDqFax"],"purge_seq":0,"other":{"data_size":11134},"doc_del_count":0,"doc_count":3,"disk_size":94859,"disk_format_version":5,"compact_running":false,"instance_start_time":"0"}
bin:$ curl 10.0.1.52:5984/data_b8008162df528b2008b72781dc02a4bf/_changes
{"results":[
{"seq":[1,"g1AAAAIveJzLYWBg4MtgTmHgT0ssLjF0MDTQM9Az1DM1zAFKMCUyJMn___8_K5EBrsQIrsQIrCRJAUgm2aOpMoapMjPEoao4J78cbpY5PrPQHZXkAFIVj6bKBG6jEQ5VIBvhZpnjMwvDjwkgVfUE3JXHAiQZGoAUUOH8rERGnOZBVC6AqNxP2MwDEJX38bkRovIBRCXeuMCuElt8YKjMAgCM1Zb3"],"id":"384f7c8141b84e7b37ba8fdbe100183b","changes":[{"rev":"1-4c6114c65e295552ab1019e2b046b10e"}]},
{"seq":[2,"g1AAAAHjeJzLYWBg4MlgTmHgT0ssLjF0MDTQM9Az1DM1zAFKMCUyJMn___8_K5EBrsQIrsQIrCRJAUgm2aOpMoapMjPEoao4J78cbpY5PrPQHZXkAFIVD1bFiNtdCSBV9QTMymMBkgwNQAqocD4-8yAqF0BU7ids5gGIyvv4wg6i8gFEJd7ww64SWxhiqMwCAAx9gkg"],"id":"_design/js","changes":[{"rev":"1-0c7e5e1b431b9624342bba75c24415f2"}]},
{"seq":[3,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjF0MDTQM9Az1DM1zAFKMCUyJMn___8_K5EBrsQYpsQMoiRJAUgm2YNVMeI0KMkBpCoeTZURXJURRFUCSFU9mo3oZuWxAEmGBiAFVDgfn3kQlQsgKvcTNvMAROV9ZJXYzXwAUQlyZxYAQCtWqg"],"id":"_design/native","changes":[{"rev":"1-14e8901b3f8d6c9179a58f684542cb15"}]}
],
"last_seq":[3,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjF0MDTQM9Az1DM1zAFKMCUyJMn___8_K5EBrsQYpsQMoiRJAUgm2YNVMeI0KMkBpCoeTZURXJURRFUCSFU9mo3oZuWxAEmGBiAFVDgfn3kQlQsgKvcTNvMAROV9ZJXYzXwAUQlyZxYAQCtWqg"]}

=> last_seq stick to [3, ... but update_seq has bump to [11,...

Is that Ok ?

@rnewson
Copy link
Owner

rnewson commented Jul 16, 2013

I don't think security is the problem here, just that the index is now caught up but the mechanism that couchdb-lucene uses to confirm them doesn't work with bigcouch. The issue, at base, is that bigcouch reports a higher update sequence for changes?descending=true than it reports at the end of changes?descending=false.

@jfgirard
Copy link
Author

humm, here a database with no security.

bin:$ curl admin:[email protected]:5984/data_b8008162df528b2008b72781dc0e77f3/_changes?descending=false
{"results":[
{"seq":[1,"g1AAAAMdeJzLYWBgEMlgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5EBrsQYpsTMEJuS4pz8crgp5jhNMYGbAlGSpAAkk-zBqhhxOifJAaQqnoCLMFWBHAVXZW6MxyxDuI1QsxJAquoJuR5DFbZgwG4Wuh_zWIAkQwOQAiqcj89tEJULICr343MfdpXYQgW3mdjdeQCi8j6--MCuElsI4TYTu98fQFTijRvsKkG2w800x2FmFgCPKNkS"],"id":"_design/native","changes":[{"rev":"1-14e8901b3f8d6c9179a58f684542cb15"}]},
{"seq":[2,"g1AAAAHdeJzLYWBg4MlgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5EBrsQYpsTMEJuS4pz8crgp5jhNMYGbAlGSpAAkk-zBqhjhBsHtMjeGqHIAqYpHUoXVrASQqno0G9G9lscCJBkagBRQ4Xx8boOoXABRuZ-wmQcgKu_jCzXsKrEFHm4zsbvzAUQlyO9ZAOFdgXU"],"id":"design/js","changes":[{"rev":"1-0c7e5e1b431b9624342bba75c24415f2"}]},
{"seq":[3,"g1AAAAGXeJzLYWBg4MpgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5ERrsQEpsQMoiRJAUgm2SOpKs7JLzeGqTI3hqhyAKmKJ2RWAkhVPVgVA05H5bEASYYGIAVUOB9ZJbp5EJULICr3EzbzAETlfWSVcJ-YGeJRCfIz3ExzQmZid-cDiEqQ37MAT9ttyA"],"id":"design/-tperson-kcreated_at
-r~_count","changes":[{"rev":"1-2285b0fcebbd568d4a1d08e21e109563"}]},
{"seq":[4,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5ERrsQEpsQMoiRJAUgm2SOpKs7JLzeGqTI3hqhyAKmKJ2RWAkhVPVgVA05H5bEASYYGIAVUOB9ZJbp5EJULICr3EzbzAETlfXxuhKh8AFEJcmcWAGYWVtk"],"id":"b8008162df528b2008b72781dc0e9b94","changes":[{"rev":"1-023cf0b23f13b539fc956ce004f06cd8"}]},
{"seq":[5,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5ERrsQEpsQMoiRJAUgm2YNVMYFVFefklxvDVJkbQ1Q5gFTFEzIrAaSqHqyKAaej8liAJEMDkAIqnI-sEt08iMoFEJX7CZt5AKLyPj43QlQ-gKgEuTMLAGcMVto"],"id":"b8008162df528b2008b72781dc0eaa79","changes":[{"rev":"1-3c8a04546ab48a2ae68d4d226646df8a"}]}
],
"last_seq":[5,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5ERrsQEpsQMoiRJAUgm2YNVMYFVFefklxvDVJkbQ1Q5gFTFEzIrAaSqHqyKAaej8liAJEMDkAIqnI-sEt08iMoFEJX7CZt5AKLyPj43QlQ-gKgEuTMLAGcMVto"]}

descending
bin:$ curl admin:[email protected]:5984/data_b8008162df528b2008b72781dc0e77f3/_changes?descending=true
{"results":[
{"seq":[5,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5ERrsQQrsQQrCRJAUgm2YNVMeE0KMkBpCqekFkJIFX1YFUMOM3KYwGSDA1ACqhwPrJKdPMgKhdAVO4nbOYBiMr7-NwIUfkAohLkziwAQhBWqw"],"id":"design/js","changes":[{"rev":"1-0c7e5e1b431b9624342bba75c24415f2"}]},
{"seq":[5,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5ERrsQQrsQQrCRJAUgm2YNVMeE0KMkBpCqekFkJIFX1YFUMOM3KYwGSDA1ACqhwPrJKdPMgKhdAVO4nbOYBiMr7-NwIUfkAohLkziwAQhBWqw"],"id":"design/-tperson-kcreated_at
-r~_count","changes":[{"rev":"1-2285b0fcebbd568d4a1d08e21e109563"}]},
{"seq":[5,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5ERrsQQrsQQrCRJAUgm2YNVMeE0KMkBpCqekFkJIFX1YFUMOM3KYwGSDA1ACqhwPrJKdPMgKhdAVO4nbOYBiMr7-NwIUfkAohLkziwAQhBWqw"],"id":"b8008162df528b2008b72781dc0eaa79","changes":[{"rev":"1-3c8a04546ab48a2ae68d4d226646df8a"}]},
{"seq":[5,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5ERrsQQrsQQrCRJAUgm2YNVMeE0KMkBpCqekFkJIFX1YFUMOM3KYwGSDA1ACqhwPrJKdPMgKhdAVO4nbOYBiMr7-NwIUfkAohLkziwAQhBWqw"],"id":"b8008162df528b2008b72781dc0e9b94","changes":[{"rev":"1-023cf0b23f13b539fc956ce004f06cd8"}]},
{"seq":[4,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5ERrsQQrsQQrCRJAUgm2aOpQjcoyQGkKp6QWQkgVfVgVQw4zcpjAZIMDUAKqHA-skp08yAqF0BU7ids5gGIyvv43AhR-QCiEuTOLABBGlaq"],"id":"_design/native","changes":[{"rev":"1-14e8901b3f8d6c9179a58f684542cb15"}]}
],
"last_seq":[4,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5ERrsQQrsQQrCRJAUgm2aOpQjcoyQGkKp6QWQkgVfVgVQw4zcpjAZIMDUAKqHA-skp08yAqF0BU7ids5gGIyvv43AhR-QCiEuTOLABBGlaq"]}

lucene query
bin:$ curl 10.0.1.52:5985/local/data_b8008162df528b2008b72781dc0e77f3/_design/js/all?q=per*
{"limit":25,"etag":"4ecca8618ddb","fetch_duration":0,"q":"default:per*","search_duration":0,"total_rows":2,"skip":0,"rows":[{"id":"b8008162df528b2008b72781dc0e9b94","score":1},{"id":"b8008162df528b2008b72781dc0eaa79","score":1}]}bin:$


I can Add more document and couchdb-lucene still works fine.

But when I modify the security:

bin:$ curl admin:[email protected]:5984/data_b8008162df528b2008b72781dc0e77f3/_changes?descending=false
{"results":[
{"seq":[1,"g1AAAAMdeJzLYWBgEMlgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5EBrsQYpsTMEJuS4pz8crgp5jhNMYRbBDElSQFIJtmDVTHidE6SA0hVPAEXYaoCOQquytwYj1kY7koAqapHU2UCt9EIhypswYDdLHQ_5rEASYYGIAVUOB-f2yAqF0BU7sfnPuwqsYUKbjOxu_MAROV9fPGBXSW2EMJtJna_P4CoxBs32FWCbIebaY7DzCwAgf3ZDQ"],"id":"_design/native","changes":[{"rev":"1-14e8901b3f8d6c9179a58f684542cb15"}]},
{"seq":[2,"g1AAAAHjeJzLYWBg4MlgTmHgT0ssLjF2MDTQM9Az1DMzzAFKMCUyJMn___8_K5ERrsQQpsQUoiRJAUgm2aOpMoKrMoKocgCpigerYsBpHaaq4pz8crgqc2M8ZmG4KwGkqh5NFbq78liAJEMDkAIqnI_PPIjKBRCV-wmbeQCi8j4-2JXCfIz3ExzQmZid-cDiEqQ37MAo22CSw"],"id":"design/-tperson-kcreated_at-r~_count","changes":[{"rev":"1-2285b0fcebbd568d4a1d08e21e109563"}]},
{"seq":[3,"g1AAAAGXeJzLYWBg4MpgTmHgT0ssLjF2MDTQM9Az1DMzzAFKMCUyJMn___8_K5ERrsQQpsQUoiRJAUgm2aOpQjcoyQGkKp6QWQkgVfVgVQxwVUZwVUZgVXksQJKhAUgBFc5HVoluHkTlAojK_YTNPABReR9ZJbpPsKsszskvh5tpTshM7O58AFEJ8nsWAB_ibZs"],"id":"_design/js","changes":[{"rev":"1-0c7e5e1b431b9624342bba75c24415f2"}]},
{"seq":[4,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjF2MDTQM9Az1DMzzAFKMCUyJMn___8_K5ERrsQQpsQUoiRJAUgm2aOpQjcoyQGkKp6QWQkgVfVgVQxwVUZwVUZgVXksQJKhAUgBFc5HVoluHkTlAojK_cgq0d0HUXkAovI-PjdCVD6AqAS5MwsAQ4pWrQ"],"id":"b8008162df528b2008b72781dc0e9b94","changes":[{"rev":"1-023cf0b23f13b539fc956ce004f06cd8"}]},
{"seq":[5,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjF2MDTQM9Az1DMzzAFKMCUyJMn___8_K5ERrsQQpsQUoiRJAUgm2YNVMeE0KMkBpCqekFkJIFX1YFUMcFVGcFVGYFV5LECSoQFIARXOR1aJbh5E5QKIyv3IKtHdB1F5AKLyPj43QlQ-gKgEuTMLAESAVq4"],"id":"b8008162df528b2008b72781dc0eaa79","changes":[{"rev":"1-3c8a04546ab48a2ae68d4d226646df8a"}]}
],
"last_seq":[5,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjF2MDTQM9Az1DMzzAFKMCUyJMn___8_K5ERrsQQpsQUoiRJAUgm2YNVMeE0KMkBpCqekFkJIFX1YFUMcFVGcFVGYFV5LECSoQFIARXOR1aJbh5E5QKIyv3IKtHdB1F5AKLyPj43QlQ-gKgEuTMLAESAVq4"]}

descending
bin:$ curl admin:[email protected]:5984/data_b8008162df528b2008b72781dc0e77f3/_changes?descending=true
{"results":[
{"seq":[12,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5EJrsQQrsQQrCRJAUgm2aOpQjcoyQGkKp6QWQkgVfVgVYw4zcpjAZIMDUAKqHA-skp08yAqF0BU7ids5gGIyvv43AhR-QCiEuTOLABFqlay"],"id":"b8008162df528b2008b72781dc0eaa79","changes":[{"rev":"1-3c8a04546ab48a2ae68d4d226646df8a"}]},
{"seq":[11,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5EJrsQQrsQQrCRJAUgm2aOpQjcoyQGkKh6sihG3WQkgVfVoqtDNymMBkgwNQAqocD4-8yAqF0BU7ids5gGIyvv4_AtR-QCiEuTOLABE2lax"],"id":"design/js","changes":[{"rev":"1-0c7e5e1b431b9624342bba75c24415f2"}]},
{"seq":[10,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5ERrsQQrsQQrCRJAUgm2YNVMeE0KMkBpCqekFkJIFX1aKrQzcpjAZIMDUAKqHA-PvMgKhdAVO4nbOYBiMr7yD7BbuYDiEqQO7MAQ75WsA"],"id":"design/-tperson-kcreated_at
-r~_count","changes":[{"rev":"1-2285b0fcebbd568d4a1d08e21e109563"}]},
{"seq":[9,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5ERrsQQrsQQrCRJAUgm2YNVMeE0KMkBpCqekFkJIFX1aKrQzcpjAZIMDUAKqHA-PvMgKhdAVO4nbOYBiMr7hM18AFEJcmcWAEOSVq8"],"id":"b8008162df528b2008b72781dc0e9b94","changes":[{"rev":"1-023cf0b23f13b539fc956ce004f06cd8"}]},
{"seq":[8,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5ERrsQQrsQQrCRJAUgm2aOpQjcoyQGkKp6QWQkgVfUEzMpjAZIMDUAKqHA-PvMgKhdAVO4nbOYBiMr7hM18AFEJcmcWAEKcVq4"],"id":"_design/native","changes":[{"rev":"1-14e8901b3f8d6c9179a58f684542cb15"}]}
],
"last_seq":[8,"g1AAAAFDeJzLYWBg4MhgTmHgT0ssLjFyMDTQM9Az1DM1ygFKMCUyJMn___8_K5ERrsQQrsQQrCRJAUgm2aOpQjcoyQGkKp6QWQkgVfUEzMpjAZIMDUAKqHA-PvMgKhdAVO4nbOYBiMr7hM18AFEJcmcWAEKcVq4"]}

lucene query
bin:$ curl 10.0.1.52:5985/local/data_b8008162df528b2008b72781dc0e77f3/_design/js/all?q=per*
{"reason":"Search timed out.","code":500}
bin:$

The security change affect the _changes stream in BigCouch. Regular Couchdb doesn't do that.

Do you experience the same thing ? Maybe my cluster is wrong somehow...

@rnewson
Copy link
Owner

rnewson commented Jul 16, 2013

Changing security settings bumps the update_seq of the database but doesn't add any rows to _changes (since no document changed).

@jfgirard
Copy link
Author

Could it be the root of the problem ? I mean, couchdb-lucene with BigCouch works fine before I set the security...

@rnewson
Copy link
Owner

rnewson commented Jul 16, 2013

Yes, I think that's the root cause. If your last database update is to _security rather than a document, you'll get stuck like this. I think that's a bug in the last_seq that BigCouch emits.

@jfgirard
Copy link
Author

Unfortunately, even if i do a lot changes after I changed the security, it doesn't fix couchdb-lucene. If I revert the security settings and restart couchdb-lucene, its still stuck. The only way to make it works is to never touch the security. Its a big deal for a couchapp.

Do you think its possible to workaround the issue in your code ? I don't think there will anymore BigCouch release before the couchdb 2.0 merge.

@rnewson
Copy link
Owner

rnewson commented Jul 16, 2013

well, I also code bigcouch and couchdb, so I'm sure I can figure something out. Not a lot of time free right now, though.

@jfgirard
Copy link
Author

👍 You are the man the job. Thanks!

@rnewson
Copy link
Owner

rnewson commented Jul 20, 2013

When a couchdb database's _security is updated, the update_seq of the db is updated. A BigCouch database consists of multiple couchdb databases ("q") each of which will receive the _security update. The sequence value is thus counting the _security bump multiple times, and I think that's what's confusing things. Not sure what can be done about it yet.

@rnewson
Copy link
Owner

rnewson commented Jul 20, 2013

So here's the plan. I'll change couchdb-lucene. It's clearly relying on behavior that it shouldn't. In order to ensure an index is 'caught up' when you query it, I'll have to make an http request to _changes with the since value, process every item, then run the search. I can't just rely on knowing when I pass an epoch in the already running _changes?feed=continuous request.

@jfgirard
Copy link
Author

If I understand well, each search query to the index will perform a request to _changes with since value to the last sequence it perform an update. No more feed=continuous request ?

That's exactly how I process my queries for my spatial cache. I use a PostgreSQL database to index the geomtries and front it by a nodejs sever that perform the _change call, update the database with the new changes, store the last sequence in a special PG table and generate the proper SQL. It works well with both Couchdb and Bigcouch so far.

@rnewson
Copy link
Owner

rnewson commented Jul 21, 2013

Ah, no, not quite that. It'll be both. When you first query an index we'll do /_changes?since=, process all rows, and service your query (assuming you didn't do stale=ok, if you did, we'd skip the changes call). A separate feed=continuous job will be spun off to keep it fresh.

@rnewson
Copy link
Owner

rnewson commented Jul 21, 2013

That or figure out how to reliably know when we've gone past "current". Using the first seq from _changes?descending=true isn't it (for bigcouch).

@jfgirard
Copy link
Author

In a situation where there are thousands of databases (one per users), would couchdb-lucene keep one feed=continuous connection for each db that have been query at least once since couchdb-lucene run ? If yes, is there a configuration to disable the continuous feed ?

@rnewson
Copy link
Owner

rnewson commented Jul 22, 2013

Currently it would and there's no configuration option to turn that off.
But there should be.
On 22 Jul 2013 01:30, "Jean-Felix" [email protected] wrote:

In a situation where there are thousands of databases (one per users),
would couchdb-lucene keep one feed=continuous connection for each db that
have been query at least once since couchdb-lucene run ? If yes, is there a
configuration to disable the continuous feed ?


Reply to this email directly or view it on GitHubhttps://github.com//issues/176#issuecomment-21320014
.

@juliobetta
Copy link

🤔 I'm facing pretty much the problem here #264 ... any updates on that? I know, 5 years... 🤣

@rnewson
Copy link
Owner

rnewson commented Mar 26, 2018

sorry, nope. I might have time to review a pull request but not to write it myself any time soon.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants