[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16511449#comment-16511449 ] Jaydeepkumar Chovatia commented on CASSANDRA-13529: --- Thanks!!! [~jasobrown] [~djoshi3] > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Labels: LWT > Fix For: 4.0 > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16458821#comment-16458821 ] Jaydeepkumar Chovatia commented on CASSANDRA-13529: --- A gentle ping [~jasobrown] > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16424248#comment-16424248 ] Jaydeepkumar Chovatia commented on CASSANDRA-13529: --- Thanks! [~jasobrown] > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16424233#comment-16424233 ] Jason Brown commented on CASSANDRA-13529: - Dinesh asked me to do a quick read through to double check, then I can commit if all looks good > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16424174#comment-16424174 ] Jaydeepkumar Chovatia commented on CASSANDRA-13529: --- Hi [~jjirsa] Can you/somebody please help me commit this change? Its already been reviewed by [~djoshi3]. Jaydeep > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16423478#comment-16423478 ] Dinesh Joshi commented on CASSANDRA-13529: -- Hey [~chovatia.jayd...@gmail.com], LGTM. > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16422780#comment-16422780 ] Jaydeepkumar Chovatia commented on CASSANDRA-13529: --- Hi [~djoshi3] Could you please review updated patch? Jaydeep > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16416534#comment-16416534 ] Jaydeepkumar Chovatia commented on CASSANDRA-13529: --- Hi [~djoshi3] I've incorporated your review comments, please find updated path details here: || trunk || | [patch | https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:CASSANDRA-13529?expand=1] | | [utest | https://circleci.com/gh/jaydeepkumar1984/cassandra/61] | > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16415113#comment-16415113 ] Dinesh Joshi commented on CASSANDRA-13529: -- Hi [~chovatia.jayd...@gmail.com], looks nice. Some more things we can improve on - # # {{CASQuery}} - {{bindArgs, fillRandom, random, randomBuffer}} are not used. Please remove. # {{PartitionGenerator}} - {{partitionKey}} and {{clusteringComponents}} - use getters instead of making fields public and return immutable copies of the lists. # {{CASQuery::prepareCASDynamicConditionsReadStatement}} - on line 138 instead of forced typecasting use {{Math.toIntExact}} # {{CASQuery::prepareCASDynamicConditionsReadStatement}} - on line 135 {{new HashMap()}} is unchecked assignment. This should be {{new HashMap<>()}}. # {{keysIndex = new ArrayList();}} use {{<>}} operator # Please add a sample profile in {{tools}} directory and update the in-tree docs ({{eg. doc/tools/cassandra_stress.rst}}) Nits: # {{CASQuery - PartitionIterator, Random}} - unused imports. Please remove. # {{CASQuery::prepareCASDynamicConditionsReadStatement}} - {{modificationStatement}} do you actually need to initialize this to {{null}}? # {{QueryUtil::dynamicConditionsExist}} - typo in comment - `differenciate` -> `differentiate`. > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16414754#comment-16414754 ] Jaydeepkumar Chovatia commented on CASSANDRA-13529: --- Hi [~djoshi3] If you have some time then could you please review updated patch? Jaydeep > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16409904#comment-16409904 ] Jaydeepkumar Chovatia commented on CASSANDRA-13529: --- Hi [~djoshi3] I've incorporated your review comments, only thing I've done bit different is moved factory inside {{StressProfile::getQuery}} class instead of {{SettingsCommandUser::getFactory}} to avoid code duplication as {{CASQuery}} and {{SchemaQuery}} has quite a few stuff in common, please find updated patch details here: ||trunk|| |[utest |https://circleci.com/gh/jaydeepkumar1984/cassandra/55]| |[patch |https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:CASSANDRA-13529?expand=1]| Jaydeep > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16409128#comment-16409128 ] Dinesh Joshi commented on CASSANDRA-13529: -- Hi [~chovatia.jayd...@gmail.com], the patch looks like it's in the right direction. There are a few things we can do to make it better - # In {{SchemaQuery}}'s constructor, you're passing it's partially constructed reference to {{CASQueryDynamicConditions}}. Don't do this (See: https://www.ibm.com/developerworks/library/j-jtp0618/). # {{CASQueryDynamicConditions}} should ideally inherit from {{SchemaStatement}} class and perhaps call it {{CASQuery}} (Making it a sibling of {{SchemaQuery}} class). # You can modify {{SettingsCommandUser::getFactory}} so {{CASQuery}} type would be a new query type to choose. > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16408769#comment-16408769 ] Jaydeepkumar Chovatia commented on CASSANDRA-13529: --- Hi [~djoshi3] If you have some time then could you please review updated patch? Jaydeep > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16392161#comment-16392161 ] Jaydeepkumar Chovatia commented on CASSANDRA-13529: --- Hi [~djoshi3] Thank You! for reviewing this code. I've incorporated most of the comments. For the following comment: {quote} There is a lot that was added to SchemaQuery. It would be beneficial if you add two classes CASQueryStatic and CASQueryDynamic inheriting from a new class called CASQuery. {quote} I didn't create base-class {{CasQuery}} derive-class {{CASQueryStatic, CASQueryDynamic}} because {{CASQueryStatic}} is same as any other query as it doesn't require special treatment. Only for {{CASQueryDynamic}} we need to fetch current db values and then replace before doing actual operation. But I got your concern hence I have created a new class for {{CASQueryDynamic}} and moved majority of code from {{SchemaQuery}} --> {{CASQueryDynamic}} to keep mainline simple. Please review this update patch and let me know your feedback. || trunk || | [patch| https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:CASSANDRA-13529?expand=1] | | [uTest| https://circleci.com/gh/jaydeepkumar1984/cassandra/37] | Jaydeep > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390722#comment-16390722 ] Dinesh Joshi commented on CASSANDRA-13529: -- Hey [~chovatia.jayd...@gmail.com], I took an initial pass at your patch - # {{SchemaQuery::checkCASQuery}} ## Line 171: Usage of {{==}} to compare Integer objects is incorrect. Please use {{.equals()}} ## You can simplify oneConditionIndex counting by using lambdas ### {{Arrays.stream(argumentIndex).filter(( x ) -> x == oneConditionIndex).count();}} ## Remove type specification {{}} while initializing {{casConditionMapping}}. ## Consider renaming {{casConditionMapping}} to {{casConditionArgFreqMap}} or better create a class that maps the {{conditionArgumentIndex}} to its frequency. ## It's a good idea to return a defensive copy in {{ModificationStatement::getConditions()}} Taking a step back for a moment you may want to refactor your code along these lines - # There is a lot that was added to {{SchemaQuery}}. It would be beneficial if you add two classes {{CASQueryStatic}} and {{CASQueryDynamic}} inheriting from a new class called {{CASQuery}}. # You could add a factory that will accept the string query and return a {{CASQuery}}. # {{CASQueryStatic}} can implement the basic {{CASQuery}} without dynamic conditions while the {{CASQueryDynamic}} can extend {{CASQueryStatic}}'s functionality and encapsulate the logic to read current values within the {{CASQueryDynamic}}. It will help make the code easier to follow. # Consider adding a CASQueryRead class internal to CASQueryDynamic for representing it's CAS reads. # Pull out the {{CAS}} related changes to {{SchemaStatement}} to {{CASQuery}} base class. > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16384381#comment-16384381 ] Jaydeepkumar Chovatia commented on CASSANDRA-13529: --- Hi [~jasobrown] If you have sometime then could you please review this ticket? Jaydeep > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16186315#comment-16186315 ] Jaydeepkumar Chovatia commented on CASSANDRA-13529: --- Hi [~jasobrown] Could you please review this whenever you get a chance? Thanks Jaydeep > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16149230#comment-16149230 ] Jaydeepkumar Chovatia commented on CASSANDRA-13529: --- Sorry about that [~jasobrown] Thanks! for adding yourself as a Reviewer. > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16148994#comment-16148994 ] Jason Brown commented on CASSANDRA-13529: - you've cc'd the wrong "Jason Brown". I'll add this to my review queue, but it will probably be next week when i can get to it. > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13529) cassandra-stress light-weight transaction support
[ https://issues.apache.org/jira/browse/CASSANDRA-13529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16148225#comment-16148225 ] Jaydeepkumar Chovatia commented on CASSANDRA-13529: --- Hi [~jbrown] Can you please take a look at this change? Jaydeep > cassandra-stress light-weight transaction support > - > > Key: CASSANDRA-13529 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13529 > Project: Cassandra > Issue Type: New Feature > Components: Stress >Reporter: Jaydeepkumar Chovatia >Assignee: Jaydeepkumar Chovatia >Priority: Minor > Fix For: 4.x > > Attachments: 13529.txt, lwttest.yaml > > > It would be nice to have a light-weight transaction support in > cassandra-stress. > Although currently in cassandra-stress we can achieve light-weight > transaction partially by using static conditions like "IF col1 != null" or > "IF not EXIST". > If would be ideal to have full fledged light-weight transaction support like > "IF col1 = ? and col2 = ?". One way to implement is to read values from > Cassandra and use that in the condition so it will execute all the paxos > phases in Cassandra. > Please find git link for the patch: > https://github.com/apache/cassandra/compare/trunk...jaydeepkumar1984:13529-trunk?expand=1 > ||trunk| > |[branch|https://github.com/jaydeepkumar1984/cassandra/tree/13529-trunk]| > |[utests|https://circleci.com/gh/jaydeepkumar1984/cassandra/8]| -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org