Bug #451
certain queries fail in 'batch' P2P mode with nodes using the PHP to proxy script
| Status: | Closed | Start: | 06/17/2011 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assigned to: | Emmanuel Benazera | % Done: | 100% |
|
| Category: | collaborative filtering | Spent time: | - | |
| Target version: | Bodie-HIPPY-0.4.1 |
Description
For instance:
in src/plugins/udb_service
./test_bqc "we butter the bread with butter" http://seeks-project.info/search_exp.php ../../../
fails with
Jun 17 15:14:46.440 7fc8f838f740 Error: Failed deserializing db_query_record
Jun 17 15:14:46.440 7fc8f838f740 Error: transmission or deserialization error fetching batch records for query we butter the bread with butter from seeks-project.info/search_exp.php
Error: 4002 - transmission or deserialization error fetching batch records for query we butter the bread with butter from seeks-project.info/search_exp.php
on client side, and
Jun 17 14:59:32.713 4e81c950 Crunch: CGI Call: http://s.s/find_bqc?
iob buf: POST http://s.s/find_bqc? HTTP/1.1
iob length: 0
content size: 0
content:
libprotobuf ERROR google/protobuf/message_lite.cc:123] Can't parse message of type "hash_halo" because it is missing required fields: expansion
Jun 17 14:59:49.872 4e81c950 Error: failed deserializing query halo
Jun 17 14:59:49.872 4e81c950 Error: failed deserializing query halo
Jun 17 14:59:49.872 4e81c950 Error: 4002 in plugin udb-service caught in top-level handler
Jun 17 14:59:49.874 4e81c950 Crunch: CGI Call: http://s.s/find_bqc?
on server side (with some custom debug)
This means the server basically does not receive the posted data (ie. the query halo)
Hypotheses:
- the PHP script is doomed
- something else is wrong at reception time
History
Updated by Emmanuel Benazera 4 months ago
- Category set to collaborative filtering
- Status changed from New to Closed
- Assigned to set to Emmanuel Benazera
- Target version set to Bodie-HIPPY-0.4.1
- % Done changed from 0 to 100
The problem was that the proxy was returning a 404 error HTML page whenever it could not find local data in response to P2P calls. In this case the client could not detect that no data was available and was failing on deserialization of the returned data.
This is now fixed.