klokan / webstor

High performance C++ API for Amazon S3
Apache License 2.0
1 stars 2 forks source link

Progress Bar for destroying TileServer #20

Open MartinMikita opened 11 years ago

MartinMikita commented 11 years ago

Is it possible to have some feedback of deleting maps and destroying TileServer instance? For example "deleted 1 of 5" maps?

Now it takes long without any feedback. I am worried there maybe is some problem, after 30 minutes there was no change in the root of selected bucket

xrosecky commented 11 years ago

Destroy check for tileserver.json presence and if it exists, all files in bucket are deleted and then bucket is destroyed - it does not operate on maps. On Amazon S3 Multi-Object Delete operation is used.

Actually List Objects operations are interleaved by Object Delete ops - memory efficient, because you don't need to hold all object identifiers in memory, but progressive bar with percentage is not possible. But it can inform how many files were destroyed so far. Alternative is to list all objects in advance and then delete them - progressbar with percentage is possible, but memory inefficient. As far as I know there is no API in S3 that returns number of objects in bucket - you have to use slow List Objects operation.

30 minutes is too long, it must get stuck somewhere. Can you run it under debugger? In my case grandcanyon takes about 10s to destroy.

MartinMikita commented 10 years ago

Could it be possible only to list objects from the first level of depth? ie. folder names of maps? And delete them with progress bar info?

xrosecky commented 10 years ago

Yes, it is possible using Amazon S3 API.