[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16389010#comment-16389010 ] Hudson commented on HBASE-8770: --- FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #4703 (See [https://builds.apache.org/job/HBase-Trunk_matrix/4703/]) HBASE-8770 deletes and puts with the same ts should be resolved (stack: rev 1bafe4a028a5291fc958c1deab2960e3ba33263c) * (edit) src/main/asciidoc/_chapters/datamodel.adoc > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Assignee: stack >Priority: Blocker > Fix For: 3.0.0 > > Attachments: HBASE-8770.branch-2.001.patch, > HBASE-8770.branch-2.002.patch > > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16388306#comment-16388306 ] stack commented on HBASE-8770: -- bq. Is the performance penalty for this behavior due to having deleted versions count against max versions? Or just for this change? I've not done the profiling but if I were to hazard a guess, it would be the added parse on each compare of sequenceid. It is an after-thought on KeyValue done as a vint tacked on AFTER the 'value'. bq. It really seems like this should become the default behavior for hbase at some major release, hopefully without any significant performance penalty Agree sir. > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Assignee: stack >Priority: Blocker > Fix For: 2.0.0 > > Attachments: HBASE-8770.branch-2.001.patch, > HBASE-8770.branch-2.002.patch > > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16388247#comment-16388247 ] Dave Latham commented on HBASE-8770: Is the performance penalty for this behavior due to having deleted versions count against max versions? Or just for this change? It really seems like this should become the default behavior for hbase at some major release, hopefully without any significant performance penalty, independent of the question of whether deleted versions count against max versions. > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Assignee: stack >Priority: Blocker > Fix For: 2.0.0 > > Attachments: HBASE-8770.branch-2.001.patch, > HBASE-8770.branch-2.002.patch > > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16384354#comment-16384354 ] Hadoop QA commented on HBASE-8770: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 20s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s{color} | {color:red} The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color} | || || || || {color:brown} branch-2 Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 2s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 3m 15s{color} | {color:green} branch-2 passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 4s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 2m 54s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green}161m 10s{color} | {color:green} root in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 29s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}176m 30s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:9f2f2db | | JIRA Issue | HBASE-8770 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12912823/HBASE-8770.branch-2.002.patch | | Optional Tests | asflicense javac javadoc unit | | uname | Linux 5856f71b4139 3.13.0-139-generic #188-Ubuntu SMP Tue Jan 9 14:43:09 UTC 2018 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | branch-2 / 9e9b347d66 | | maven | version: Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z) | | Default Java | 1.8.0_151 | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/11784/testReport/ | | Max. process+thread count | 4220 (vs. ulimit of 1) | | modules | C: . U: . | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/11784/console | | Powered by | Apache Yetus 0.7.0 http://yetus.apache.org | This message was automatically generated. > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Assignee: stack >Priority: Blocker > Fix For: 2.0.0 > > Attachments: HBASE-8770.branch-2.001.patch, > HBASE-8770.branch-2.002.patch > > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16384161#comment-16384161 ] stack commented on HBASE-8770: -- .002 incorporates feed back by [~Apache9] up on rb. > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Assignee: stack >Priority: Blocker > Fix For: 2.0.0 > > Attachments: HBASE-8770.branch-2.001.patch, > HBASE-8770.branch-2.002.patch > > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16383519#comment-16383519 ] Hadoop QA commented on HBASE-8770: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 33s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s{color} | {color:red} The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color} | || || || || {color:brown} branch-2 Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 6m 5s{color} | {color:green} branch-2 passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 2m 21s{color} | {color:green} branch-2 passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 9s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 2m 13s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green}227m 45s{color} | {color:green} root in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 32s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}242m 58s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:9f2f2db | | JIRA Issue | HBASE-8770 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12912737/HBASE-8770.branch-2.001.patch | | Optional Tests | asflicense javac javadoc unit | | uname | Linux cf6441d7d8ca 4.4.0-64-generic #85-Ubuntu SMP Mon Feb 20 11:50:30 UTC 2017 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | branch-2 / a2de29560f | | maven | version: Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z) | | Default Java | 1.8.0_151 | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/11770/testReport/ | | Max. process+thread count | 4892 (vs. ulimit of 1) | | modules | C: . U: . | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/11770/console | | Powered by | Apache Yetus 0.7.0 http://yetus.apache.org | This message was automatically generated. > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Assignee: stack >Priority: Blocker > Fix For: 2.0.0 > > Attachments: HBASE-8770.branch-2.001.patch > > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16383310#comment-16383310 ] stack commented on HBASE-8770: -- .001 is doc on the HBASE-15968 feature, hopefully enough to close out this issue. > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Priority: Blocker > Fix For: 2.0.0 > > Attachments: HBASE-8770.branch-2.001.patch > > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16383273#comment-16383273 ] stack commented on HBASE-8770: -- HBASE-15968 does this. You need to set NEW_VERSION_BEHAVIOR on the column family. If you are replicating, you need to use serial replication. Let me update the doc and then resolve this issue. > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Priority: Blocker > Fix For: 2.0.0 > > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16039224#comment-16039224 ] Dave Latham commented on HBASE-8770: > We will remove mvcc in HFile in minor compaction (to save capacity) and > delete/put will have same mvcc if they are in one same file. I think that would be OK so long as we first order by seq id, then order Put ahead of Delete for the same seq id. If we're compacting to an HFile, and the Put has higher seq id than the Delete, write them both, and the Put will stay visible. If the Delete has a higher seq id than the Put, then just drop the Put as it should never be visible. Would that work or am I missing something? However, if we do switch to always keeping the seq id around, then the point is moot. Except for the next case of an atomic RowMutation with Put and Delete having the same seq id. Then we have to make a call ont he semantic. I think it's more useful to favor the Put over the Delete (would solve HBASE-8626 also). > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Priority: Critical > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16038211#comment-16038211 ] stack commented on HBASE-8770: -- bq. We will remove mvcc in HFile in minor compaction (to save capacity) and delete/put will have same mvcc if they are in one same file. We should not do this, right? bq. At least we should always keep mvcc in HFiles just like HBASE-15968 does. Agree. bq. But we need more tests (I am testing in our own cluster) and I am not sure if it can be a default behavior because the performance will be a little worse and a new feature may have some bugs... And I am not sure if the patch is still right if we compare mvcc first before type. Need more checking. This sounds like an argument for committing it early. The perf downgrade I can see because mvcc/sequenceid is unfortunately a second-class citizen at least until HLC is done. Thats tough. But the stuff about needs more checking and maybe bugs we should be able to live with. Correctness first. Perf is secondary. What you think [~yangzhe1991]? > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Priority: Critical > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16038097#comment-16038097 ] Phil Yang commented on HBASE-8770: -- bq. If not, would simply changing the sort order to order by seq id before cell type for this issue be a possibility for 2.0? We will remove mvcc in HFile in minor compaction (to save capacity) and delete/put will have same mvcc if they are in one same file. If I am not wrong we can not just change the comparator :( At least we should always keep mvcc in HFiles just like HBASE-15968 does. bq. Is there hope for HBASE-15968 to make it into 2.0? The patch is available and I think we can get it in after rebasing and reviewing. But we need more tests (I am testing in our own cluster) and I am not sure if it can be a default behavior because the performance will be a little worse and a new feature may have some bugs... So I prefer to always keep mvcc in HFile by default, compare mvcc before type by default, but the other behavior is configurable. > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Priority: Critical > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16037227#comment-16037227 ] Dave Latham commented on HBASE-8770: Thanks, [~yangzhe1991]. Is there hope for HBASE-15968 to make it into 2.0? I don't see activity there for several months. If not, would simply changing the sort order to order by seq id before cell type for this issue be a possibility for 2.0? > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Priority: Critical > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16036302#comment-16036302 ] Phil Yang commented on HBASE-8770: -- We are fixing HBASE-15968 which is more complicated because we have delete versions which will delete all Puts whose ts is not larger than it. So the delete marker and put may not be same. But after HBASE-15968 being fixed this issue will be also fixed. > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Priority: Critical > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16035784#comment-16035784 ] stack commented on HBASE-8770: -- [~yangzhe1991] you fellows fixed this? Yeah, it is wrong that no matter what a delete sorts first. How could we change this for 2.0. Code change would be simple enough in comparator > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Priority: Critical > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16035443#comment-16035443 ] Dave Latham commented on HBASE-8770: for an app using client-set meaningful timestamps, sure wishing this was already in hbase. have anyone's thoughts changed on it. any chance it could land in 2.0? > deletes and puts with the same ts should be resolved according to mvcc/seqNum > - > > Key: HBASE-8770 > URL: https://issues.apache.org/jira/browse/HBASE-8770 > Project: HBase > Issue Type: Brainstorming >Reporter: Sergey Shelukhin >Priority: Critical > > This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. > It's not clear why deletes with the same ts as a put should always mask the > put, rather than also being resolve by seqNum. > What do you think? -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14001964#comment-14001964 ] stack commented on HBASE-8770: -- Fixing this makes sense to me. Especially after unification of MVCC and seqid and if seqid lives on into hfiles -- if not per key, at least keep around a seqid on the file. As is, the behavior 'surprises'. HBASE-9905 is something else. Fix seems 'simple' enough, changing the order at which we evaluate Cell/KV elements in the comparator; we'd swap (or remove type consideration) with sequence id in the order in which we run the compare. deletes and puts with the same ts should be resolved according to mvcc/seqNum - Key: HBASE-8770 URL: https://issues.apache.org/jira/browse/HBASE-8770 Project: HBase Issue Type: Brainstorming Reporter: Sergey Shelukhin Priority: Critical This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. It's not clear why deletes with the same ts as a put should always mask the put, rather than also being resolve by seqNum. What do you think? -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14002685#comment-14002685 ] Enis Soztutar commented on HBASE-8770: -- bq. Fix seems 'simple' enough, changing the order at which we evaluate Cell/KV elements in the comparator; we'd swap (or remove type consideration) with sequence id in the order in which we run the compare. +1 to what Stack says. deletes and puts with the same ts should be resolved according to mvcc/seqNum - Key: HBASE-8770 URL: https://issues.apache.org/jira/browse/HBASE-8770 Project: HBase Issue Type: Brainstorming Reporter: Sergey Shelukhin Priority: Critical This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. It's not clear why deletes with the same ts as a put should always mask the put, rather than also being resolve by seqNum. What do you think? -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14000525#comment-14000525 ] Lars Hofhansl commented on HBASE-8770: -- This comes up about once/year :) Idempotent operations are an important feature of HBase. This would break this, so I am -0 on this approach. deletes and puts with the same ts should be resolved according to mvcc/seqNum - Key: HBASE-8770 URL: https://issues.apache.org/jira/browse/HBASE-8770 Project: HBase Issue Type: Brainstorming Reporter: Sergey Shelukhin Priority: Critical This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. It's not clear why deletes with the same ts as a put should always mask the put, rather than also being resolve by seqNum. What do you think? -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14000607#comment-14000607 ] Sergey Shelukhin commented on HBASE-8770: - ...that is not already broken, I mean. retries can still create multiple records with different ts deletes and puts with the same ts should be resolved according to mvcc/seqNum - Key: HBASE-8770 URL: https://issues.apache.org/jira/browse/HBASE-8770 Project: HBase Issue Type: Brainstorming Reporter: Sergey Shelukhin Priority: Critical This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. It's not clear why deletes with the same ts as a put should always mask the put, rather than also being resolve by seqNum. What do you think? -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14000605#comment-14000605 ] Sergey Shelukhin commented on HBASE-8770: - What would it break? deletes and puts with the same ts should be resolved according to mvcc/seqNum - Key: HBASE-8770 URL: https://issues.apache.org/jira/browse/HBASE-8770 Project: HBase Issue Type: Brainstorming Reporter: Sergey Shelukhin Priority: Critical This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. It's not clear why deletes with the same ts as a put should always mask the put, rather than also being resolve by seqNum. What do you think? -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13815195#comment-13815195 ] stack commented on HBASE-8770: -- I believe that the Delete always sorting before the Put was an arbitrary choice way-back-when. Yes, type should not be a factor and rather it should be sequenceid. But then we'd need to have a sequenceid in the key so that everywhere order was respected? deletes and puts with the same ts should be resolved according to mvcc/seqNum - Key: HBASE-8770 URL: https://issues.apache.org/jira/browse/HBASE-8770 Project: HBase Issue Type: Brainstorming Reporter: Sergey Shelukhin This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. It's not clear why deletes with the same ts as a put should always mask the put, rather than also being resolve by seqNum. What do you think? -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13815214#comment-13815214 ] Sergey Shelukhin commented on HBASE-8770: - Between-file conflicts can be resolved using file seqids. When we write one file (flush/compaction), we can write seqids only for conflicting keys (row+cf+q+ts). Should be relatively small load. We already have space for mvcc in KV and [~enis] purports to merge mvcc and seqId. Or we can store it in tags. deletes and puts with the same ts should be resolved according to mvcc/seqNum - Key: HBASE-8770 URL: https://issues.apache.org/jira/browse/HBASE-8770 Project: HBase Issue Type: Brainstorming Reporter: Sergey Shelukhin This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. It's not clear why deletes with the same ts as a put should always mask the put, rather than also being resolve by seqNum. What do you think? -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13815369#comment-13815369 ] Enis Soztutar commented on HBASE-8770: -- Linking HBASE-9905. We might as well do that instead of this. deletes and puts with the same ts should be resolved according to mvcc/seqNum - Key: HBASE-8770 URL: https://issues.apache.org/jira/browse/HBASE-8770 Project: HBase Issue Type: Brainstorming Reporter: Sergey Shelukhin This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. It's not clear why deletes with the same ts as a put should always mask the put, rather than also being resolve by seqNum. What do you think? -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13815380#comment-13815380 ] Sergey Shelukhin commented on HBASE-8770: - There was another issue today where user does use equal TS (put ts 100m, put ts 200, del-version ts 200, then later put ts 200). This would solve both problems... I think HBASE-9905 we can also do deletes and puts with the same ts should be resolved according to mvcc/seqNum - Key: HBASE-8770 URL: https://issues.apache.org/jira/browse/HBASE-8770 Project: HBase Issue Type: Brainstorming Reporter: Sergey Shelukhin This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. It's not clear why deletes with the same ts as a put should always mask the put, rather than also being resolve by seqNum. What do you think? -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13688624#comment-13688624 ] stack commented on HBASE-8770: -- You raise a valid point. Our current implementation factors in kv type when comparing. It shouldn't really. To fix, we'd have to have sequenceid in the kv. deletes and puts with the same ts should be resolved according to mvcc/seqNum - Key: HBASE-8770 URL: https://issues.apache.org/jira/browse/HBASE-8770 Project: HBase Issue Type: Brainstorming Reporter: Sergey Shelukhin This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. It's not clear why deletes with the same ts as a put should always mask the put, rather than also being resolve by seqNum. What do you think? -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-8770) deletes and puts with the same ts should be resolved according to mvcc/seqNum
[ https://issues.apache.org/jira/browse/HBASE-8770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13688630#comment-13688630 ] Sergey Shelukhin commented on HBASE-8770: - Not really, we can compare them the same way as we do now, using file seqNum deletes and puts with the same ts should be resolved according to mvcc/seqNum - Key: HBASE-8770 URL: https://issues.apache.org/jira/browse/HBASE-8770 Project: HBase Issue Type: Brainstorming Reporter: Sergey Shelukhin This came up during HBASE-8721. Puts with the same ts are resolved by seqNum. It's not clear why deletes with the same ts as a put should always mask the put, rather than also being resolve by seqNum. What do you think? -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira