[jira] [Commented] (CASSANDRA-11171) conditional update without paxos
[ https://issues.apache.org/jira/browse/CASSANDRA-11171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16290298#comment-16290298 ] Jeff Jirsa commented on CASSANDRA-11171: It's been a few years, and it feels like this is something that is almost certainly not going to be implemented. I propose wont-fixing this, will label it as such, and close it later unless someone objects. > conditional update without paxos > > > Key: CASSANDRA-11171 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11171 > Project: Cassandra > Issue Type: Wish >Reporter: stuart >Priority: Minor > Labels: proposed-wontfix > > I realise that currently conditional updates use lightweight transactions to > provide an atomic check and set operation but that this comes at a non > trivial performance cost. I have a solution where synchronised access is > ensured by an external mechanism therefore I don't think paxos would be > required. It would be nice to be able to run an update command or script that > could conditionally update without the performance hit. Currently I'd have to > retrieve each row first at the application level before deciding whether or > not to perform the update. Would it be possible to add a switch for the > conditional updates to turn paxos on or off? Thanks. -- 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-11171) conditional update without paxos
[ https://issues.apache.org/jira/browse/CASSANDRA-11171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15156688#comment-15156688 ] Sylvain Lebresne commented on CASSANDRA-11171: -- Honestly, I'm pretty sure we don't want to do this. It's certainly possible technically, but the use case feels pretty narrow and on the other side conditions are very much equated to LWT currently so this would add lots of confusion and potential for foot-shooting. I get that this would neat for you, but it's also not like we can do magic server side, we'll still have to do a read-before-write, so we prefer leaving that to the application if that's really what they want. > conditional update without paxos > > > Key: CASSANDRA-11171 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11171 > Project: Cassandra > Issue Type: Wish >Reporter: stuart >Priority: Minor > > I realise that currently conditional updates use lightweight transactions to > provide an atomic check and set operation but that this comes at a non > trivial performance cost. I have a solution where synchronised access is > ensured by an external mechanism therefore I don't think paxos would be > required. It would be nice to be able to run an update command or script that > could conditionally update without the performance hit. Currently I'd have to > retrieve each row first at the application level before deciding whether or > not to perform the update. Would it be possible to add a switch for the > conditional updates to turn paxos on or off? Thanks. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11171) conditional update without paxos
[ https://issues.apache.org/jira/browse/CASSANDRA-11171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15148445#comment-15148445 ] stuart commented on CASSANDRA-11171: Sure, but Ill still incur the cost of reading before writing in the application. It would be nice if update scripts could be executed on Cassandra nodes (performed as read before write but without LWT) without the extra hop to the application layer. Not a big deal, but more of a nice to have. Cheers, Stuart > conditional update without paxos > > > Key: CASSANDRA-11171 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11171 > Project: Cassandra > Issue Type: Wish >Reporter: stuart >Priority: Minor > > I realise that currently conditional updates use lightweight transactions to > provide an atomic check and set operation but that this comes at a non > trivial performance cost. I have a solution where synchronised access is > ensured by an external mechanism therefore I don't think paxos would be > required. It would be nice to be able to run an update command or script that > could conditionally update without the performance hit. Currently I'd have to > retrieve each row first at the application level before deciding whether or > not to perform the update. Would it be possible to add a switch for the > conditional updates to turn paxos on or off? Thanks. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11171) conditional update without paxos
[ https://issues.apache.org/jira/browse/CASSANDRA-11171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15148412#comment-15148412 ] DOAN DuyHai commented on CASSANDRA-11171: - bq. So having guarantees over actor isolation and single threaded execution already in place I'd like to be able to perform conditional updates for certain use cases In this case, just don't use LWT and do a read-before-write to perform a conditional update. Of course it's less user-friendly but you won't pay the price for 4 network round trips of LWT > conditional update without paxos > > > Key: CASSANDRA-11171 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11171 > Project: Cassandra > Issue Type: Wish >Reporter: stuart >Priority: Minor > > I realise that currently conditional updates use lightweight transactions to > provide an atomic check and set operation but that this comes at a non > trivial performance cost. I have a solution where synchronised access is > ensured by an external mechanism therefore I don't think paxos would be > required. It would be nice to be able to run an update command or script that > could conditionally update without the performance hit. Currently I'd have to > retrieve each row first at the application level before deciding whether or > not to perform the update. Would it be possible to add a switch for the > conditional updates to turn paxos on or off? Thanks. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11171) conditional update without paxos
[ https://issues.apache.org/jira/browse/CASSANDRA-11171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15147913#comment-15147913 ] stuart commented on CASSANDRA-11171: Sorry I should have elaborated a bit. I'm not by any means suggesting any form of performance improvement over paxos. Im developing a platform running on MS Project Orleans and so I have external means to control concurrency. (Infact I'm using cassandras lightweight transactions to guarantee single activation of actors). So having guarantees over actor isolation and single threaded execution already in place I'd like to be able to perform conditional updates for certain use cases. I do not have to worry about contention because I know these updates will be executed in a coordinated manner. Thererfore the atomicity of the conditional update operation currently provided by Cassandra, should not be required and I was wondering if there could be a means to turn it off? I'm not an expert in distributed programming so may well be missing something in my thinking here, Thanks, Stuart. > conditional update without paxos > > > Key: CASSANDRA-11171 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11171 > Project: Cassandra > Issue Type: Wish >Reporter: stuart >Priority: Minor > > I realise that currently conditional updates use lightweight transactions to > provide an atomic check and set operation but that this comes at a non > trivial performance cost. I have a solution where synchronised access is > ensured by an external mechanism therefore I don't think paxos would be > required. It would be nice to be able to run an update command or script that > could conditionally update without the performance hit. Currently I'd have to > retrieve each row first at the application level before deciding whether or > not to perform the update. Would it be possible to add a switch for the > conditional updates to turn paxos on or off? Thanks. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11171) conditional update without paxos
[ https://issues.apache.org/jira/browse/CASSANDRA-11171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15147746#comment-15147746 ] DOAN DuyHai commented on CASSANDRA-11171: - bq. I have a solution where synchronised access is ensured by an external mechanism therefore I don't think paxos would be required Can you please elaborate about this *external mechanism* ? I'm curious to know how it works and how it would grant better perf than the current Paxos > conditional update without paxos > > > Key: CASSANDRA-11171 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11171 > Project: Cassandra > Issue Type: Wish >Reporter: stuart >Priority: Minor > > I realise that currently conditional updates use lightweight transactions to > provide an atomic check and set operation but that this comes at a non > trivial performance cost. I have a solution where synchronised access is > ensured by an external mechanism therefore I don't think paxos would be > required. It would be nice to be able to run an update command or script that > could conditionally update without the performance hit. Currently I'd have to > retrieve each row first at the application level before deciding whether or > not to perform the update. Would it be possible to add a switch for the > conditional updates to turn paxos on or off? Thanks. -- This message was sent by Atlassian JIRA (v6.3.4#6332)