[
https://issues.apache.org/jira/browse/CLOUDSTACK-10202?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303153#comment-16303153
]
ASF GitHub Bot commented on CLOUDSTACK-10202:
---------------------------------------------
niteshsarda commented on issue #2373: CLOUDSTACK-10202:createSnapshotPolicy API
create multiple entries in DB for same parameters.
URL: https://github.com/apache/cloudstack/pull/2373#issuecomment-353851302
@marcaurele : One of our customer have reported this scenario, where they
have multiple management servers and when parallel request comes for snapshot
policy creation for same volume, then multiple entries are created in DB for
same volume.
As per the code, only one snapshot policy entry should be created in
database for each volume. Whenever, another request of snapshot policy comes
for the same volume, then existing entry should be updated. Same behavior is
observed, when volume have existing snapshot policy and parallel threads are
executed, then only single entry is getting updated every time. This is
because, we have lock available in code in else block. Whereas, in case of
first snapshot policy creation for volume, DB lock is not available, hence it
creates multiple DB entries.
As multiple management servers might send API requests in parallel for same
volume, we should handle this from our code and allow to create only one entry
in DB for each volume.
Also, I apologize for confusing title of the PR, I have updated the same, to
make it more clear and relevant to the fix.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> createSnapshotPolicy API create multiple entries in DB for same parameters.
> ---------------------------------------------------------------------------
>
> Key: CLOUDSTACK-10202
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-10202
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Reporter: Nitesh Sarda
>
> *ISSUE :*
> createSnapshotPolicy API create multiple entries in DB for same parameters,
> if multiple threads are executed in parallel.
> *STEPS TO REPRODUCE :*
> # Created a new machine having root and data disk.
> # Make sure that no existing snapshot policy is present for the volume.
> # Execute multiple threads in parallel for createSnapshotPolicy API having
> all required parameters exactly same.
> # Verify table snapshot_policy in DB, will get multiple entries for same
> policy.
> # Once again execute same multiple threads, by changing any API parameter,
> will see that existing entries are getting modified in DB and no new entries
> are added.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)