Quote:
Originally Posted by Sefiriot
Here's another log testing CC 3.0.6. This time the transfer was about 1k+ titles. Interestingly metadata did finish sending this time before calibre timed out.
|
I looked at the log.
Interesting to note that the scan for books on the second connect (the one that worked) apparently took 25 seconds. That is a long time.
I have up'ed the timeout in calibre from 1 minute to 5 minutes. I considered getting rid of it all together, but decided that timing out does provide some information. The increase will be in the next calibre release.
Getting on to the stuff at the bottom, I am quite sure that this is caused by the same "queue length" problem we have seen before. Calibre thinks that CC has finished storing books, but in fact CC hasn't. It could be hundreds of books behind. This means that when the send metadata job starts (log line 6181), CC isn't listening, instead working its heart out trying to store metadata for books. A minute later, calibre gives up.
As I think I have said before, the next version will avoid this problem by refusing to queue saving metadata for more than 5 books. This lets CC overlap receiving metadata from calibre with writing the db, but doesn't allow it to get so far behind that timeouts are generated. It will appear to the user that the transfer is slower (faster than 3.0.5), but the overall time to send will not go up.
The next version will also use queuing when receiving metadata during the connection handshake. This should speed up metadata reception by 5% to 10% because network time will be overlapped with database time.