View Issue Details

IDProjectCategoryView StatusLast Update
0011220MMW v4Synchronizationpublic2013-12-23 01:34
Reporterpeke Assigned To 
PriorityurgentSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version4.1 
Target Version4.1Fixed in Version4.1 
Summary0011220: Sync: Delay on scaning devices with Multiple Storage
DescriptionThere is big delay on devices that have multiple storage and MMA installed.

LOGs show that one scanning is slowing down scanning with "TAndroidDBHandler.OpenAndroidDB: Another storage of the same device is opening the same DB, waiting..." I wonder is there any way to optimize that?
TagsNo tags attached.
Fixed in build1657

Relationships

related to 0011132 closedmarek USB sync: Ratings can fail to sync 
related to 0011485 closedpeke Sync: Various Regressions USB Sync 
child of 0010552 closedLudek Nexus 7, JB 4.2.2, MTP sometimes freezes  

Activities

Ludek

2013-09-03 09:53

developer   ~0037407

MMA's DB (mmstore.db file) is stored only on one storage, therefore if MMW finds that the DB is read for another storage, then it just waits until the DB is read and uses it (for all storages). That said this should rather speed the things up, because MMA's DB isn't downloaded for each storage, but only once for all storages.

If there is a slowdown, it is likely MTP slowdown, please attach MMW debug log to see why it downloads DB so long.

peke

2013-09-04 00:37

developer   ~0037414

log and mmstore.db is uploaded on FTP.

Ludek

2013-09-04 02:18

developer   ~0037415

Last edited: 2013-09-04 02:37

Based on the log it is the issue 0010552 again which we observed in the past and have been able to resolve it only by restoring the device (wipe + unlock)

As I remember the MTP freeze only occured after connecting the device, but when the device was already connected for several minutes, then the freeze was not occuring.

peke

2013-09-04 02:41

developer   ~0037416

Just for testing purposes. I connected Lg phone without MMW started and as soon as it was shown on My Computer I accessed it with Explorer and copied mmstore.db to desktop it took 2 Sec for whole process.

Please note that LG first connects as Installer Device CDFS with USB drivers and than disconnects to be connected using MTP.

Ludek

2013-09-04 11:19

developer   ~0037420

Last edited: 2013-09-05 19:51

So it happened with LG too?

Actually I can also reproduce the freeze again with my Nexus, but in my case the freeze is shorter (about 20 seconds). The freeze happens once after MMW deletes the requested mmstore.db.copy file. It seems that the file deletion somehow triggers the freeze (if the device is connected less than two minutes).

EDIT: Th freeze is quite random, many times it freezed after file deletion, sometimes when accessing mmstore.db.copy, and then suddenly the issue no longer occured. I've spent much time on it trying various things, but seems that I cannot do much about this MTP issue.

Ludek

2013-09-06 13:27

developer   ~0037434

Last edited: 2013-09-06 14:18

I have finally found some steps that seem to prevent from the freeze (fixed in build 1657).

But I am not sure, because with my Nexus the freeze was quite random and appeared only for 20 seconds and only during first 30 seconds after device plug-in.

Note that there is another MTP freeze with my Nexus when uploading M3U playlists, it takes 30 seconds to upload M3U that has only 29 KB. But the same happens when I upload it using Windows explorer even if MMW/MMA is not runing, so that's not a MM bug again.

peke

2013-09-06 17:30

developer   ~0037435

Last edited: 2013-09-06 17:32

@Ludek
Wouldn't be faster that when you get mmstore.db for first storage just make copy of it and load it in separate thread for second storage? that way storage with less or now files would finish and be ready much faster even auto-sync could be half way thru finishing?

Assign back to me for retesting using LG which is used in initial testing.

Ludek

2013-09-06 17:57

developer   ~0037436

@Peke,
This is exactly how it currently works. The DB is downloaded only by one storage and the second storage just waits until the DB is downloaded, therofere there is the "TAndroidDBHandler.OpenAndroidDB: Another storage of the same device is opening the same DB, waiting..."

peke

2013-09-12 03:26

developer   ~0037477

Last edited: 2013-09-12 22:39

retested in 1657 and it was much Faster. There was two 20 Sec Freeze that you also observed on Nexus.

Will create debug log and assign back to you

NOTE: I use LG L5 JB 4.1.2 for testing that originally observed bug

peke

2013-12-23 01:34

developer   ~0038991

Fixed in recent builds resolving

peke

2013-12-23 01:34

developer   ~0038992

Verified fix in 1682