#314 make clone-tag faster
Closed: Fixed 5 years ago Opened 5 years ago by tkopecek.

Clone tag operations for tags with a lot of content can be quite slow. Can we make it faster by moving most of it to server?

I see a few options here, in order of invasiveness

  1. Port the client code to use multicall. This will reduce the rpc round trips greatly

  2. Move the logic server side, but working essentially the same way (calling out to the same basic calls). This might not yield much benefit over option 1.

  3. Port to server side and refactor to insert multiple rows at a time based on selects. This will be challenging, and we might not be able to preserve the same callback and policy check behavior that the code currently has. Actually, those callbacks and checks might well be a big part of the slowness.

Since option 1 should be trivial to implement. I suggest we start there and run some performance tests both ways.

+1 for multicalls mike

Just tested mikeb's clone-tag with multicall support for untagging/tagging build and operation which usually takes up to two hours was done in less than short coffee break (few minutes).

I didn't batched calls (e.g. per hundreds), which might be dangerous for e.g. 6000 untags that had to be done.

Such performance would be more than sufficient.


I've added few more multicalls there: PR #326

Metadata Update from @tkopecek:
- Issue set to the milestone: 1.12

5 years ago

Login to comment on this ticket.