Deletions via couchdb river seem to be ignored


(Richard Marr) #1

Hi all,

I'm using ES in combination with CouchDB and have come across a hiccup that
I haven't managed to solve.

The CouchDB River plugin for ES worked perfectly for me right up until the
point where I started allowing documents to be deleted in my app. The
deletes are visible in Couch's change log, but don't seem to
be propagating to ES. The ES log doesn't seem to contain anything
enlightening and a cursory glance through the plugin source code hasn't
helped. Subsequent writes to CouchDB are picked up correctly and deleting
those docs directly via HTTP works fine.

Is this familiar to anyone or am I going to have to get my debugging pants
on?

--
Richard Marr


(Shay Banon) #2

strange, I haven't heard of a user noticing that, and did not see something
like that in my tests... . One thing you can do is set in the logging.yml
file river.couchdb to TRACE, it will log all the operations received and
executed from the _changes stream

On Sat, Jul 16, 2011 at 2:04 PM, Richard Marr richard.marr@gmail.comwrote:

Hi all,

I'm using ES in combination with CouchDB and have come across a hiccup that
I haven't managed to solve.

The CouchDB River plugin for ES worked perfectly for me right up until the
point where I started allowing documents to be deleted in my app. The
deletes are visible in Couch's change log, but don't seem to
be propagating to ES. The ES log doesn't seem to contain anything
enlightening and a cursory glance through the plugin source code hasn't
helped. Subsequent writes to CouchDB are picked up correctly and deleting
those docs directly via HTTP works fine.

Is this familiar to anyone or am I going to have to get my debugging pants
on?

--
Richard Marr


(jeannette) #3

I am experiencing the same issue. I appears the type is ignored.

curl -XPUT http://localhost:5984/report_product -d '{
"_id": "_design/river",
"filters": {
"bytype": "function(doc, req) { if (doc.reporttype && req.query.reporttype) {if (doc.reporttype == req.query.reporttype) {return true;}} return false; }"
}
}'

curl -XPUT 'localhost:9200/_river/ra/_meta' -d '{
"type": "couchdb",
"couchdb": {
"host": "localhost",
"port": 5984,
"db": "report_product",
"filter": "river/bytype",
"filter_params": {
"reporttype": "ra"
}
},
"index": {
"index": "report_product",
"type": "ra"
}
}'

Note: I have also tried scripts on the river.. did not delete either, so I went with the above to specify type and index.

info] [<0.2063.0>] 127.0.0.1 - - 'GET' /report_product/_changes?feed=continuous&include_docs=true&heartbeat=10000&filter=river%2Fbytype&reporttype=ra 200
[info] [<0.1677.0>] 127.0.0.1 - - 'GET' /report_product/_changes?filter=river%2Fbytype&reporttype=fintel 200
[info] [<0.1677.0>] 127.0.0.1 - - 'GET' /report_product/_changes?filter=river%2Fbytype&reporttype=ra 200
[info] [<0.1677.0>] 127.0.0.1 - - 'GET' /report_product/_all_docs?startkey=%22_design%2F%22&endkey=%22_design0%22&include_docs=true 200
...
[info] [<0.1677.0>] 127.0.0.1 - - 'DELETE' /report_product/481209903bb0460498f7cfc095009e34?rev=2-12366b50b040fbc244b6d25ad1bb123a 200

Changes..

{"results":[
{"seq":4,"id":"_design/river","changes":[{"rev":"2-1882c953f3a2f59c434584f1ca79fb2c"}]},
{"seq":5,"id":"481209903bb0460498f7cfc095009e34","changes":[{"rev":"3-bec473db9bd0a6825f355063bb4f2708"}],"deleted":true}
],
"last_seq":5}

any ideas?


(system) #4