[jira] [Updated] (IGNITE-2231) 'Put' cache event treats entry created at lock acquisition time as old value
[ https://issues.apache.org/jira/browse/IGNITE-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Denis Magda updated IGNITE-2231: Labels: (was: important) > 'Put' cache event treats entry created at lock acquisition time as old value > > > Key: IGNITE-2231 > URL: https://issues.apache.org/jira/browse/IGNITE-2231 > Project: Ignite > Issue Type: Bug > Components: cache >Affects Versions: ignite-1.4 >Reporter: Denis Magda > Fix For: 2.0 > > Attachments: EventsProcessingTest.java > > > Subscribe for EVT_CACHE_OBJECT_PUT event on one node and perform 'put' > operations from the other to an empty transnational cache. > The subscriber will receive a notification saying that there was an old value > for a key at the time the new was being inserted. In fact the was no an old > value, the entry with a {{null}} as a value was generated as a part of > implicit lock acquisition. > This snippet of the code in {{GridCacheMapEntry}} generates a wrong event > (innerSet function) > {noformat} > if (evt && newVer != null && > cctx.events().isRecordable(EVT_CACHE_OBJECT_PUT)) { > CacheObject evtOld = cctx.unwrapTemporary(old); > cctx.events().addEvent(partition(), > key, > evtNodeId, > tx == null ? null : tx.xid(), > newVer, > EVT_CACHE_OBJECT_PUT, > val, > val != null, > evtOld, > evtOld != null || hasValueUnlocked(), > subjId, null, taskName, > keepBinary); > } > {noformat} > Attached the test that lets reproduce the issue. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (IGNITE-2231) 'Put' cache event treats entry created at lock acquisition time as old value
[ https://issues.apache.org/jira/browse/IGNITE-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Denis Magda updated IGNITE-2231: Assignee: (was: wmz7year) > 'Put' cache event treats entry created at lock acquisition time as old value > > > Key: IGNITE-2231 > URL: https://issues.apache.org/jira/browse/IGNITE-2231 > Project: Ignite > Issue Type: Bug > Components: cache >Affects Versions: ignite-1.4 >Reporter: Denis Magda > Labels: important > Fix For: 2.0 > > Attachments: EventsProcessingTest.java > > > Subscribe for EVT_CACHE_OBJECT_PUT event on one node and perform 'put' > operations from the other to an empty transnational cache. > The subscriber will receive a notification saying that there was an old value > for a key at the time the new was being inserted. In fact the was no an old > value, the entry with a {{null}} as a value was generated as a part of > implicit lock acquisition. > This snippet of the code in {{GridCacheMapEntry}} generates a wrong event > (innerSet function) > {noformat} > if (evt && newVer != null && > cctx.events().isRecordable(EVT_CACHE_OBJECT_PUT)) { > CacheObject evtOld = cctx.unwrapTemporary(old); > cctx.events().addEvent(partition(), > key, > evtNodeId, > tx == null ? null : tx.xid(), > newVer, > EVT_CACHE_OBJECT_PUT, > val, > val != null, > evtOld, > evtOld != null || hasValueUnlocked(), > subjId, null, taskName, > keepBinary); > } > {noformat} > Attached the test that lets reproduce the issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (IGNITE-2231) 'Put' cache event treats entry created at lock acquisition time as old value
[ https://issues.apache.org/jira/browse/IGNITE-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vladimir Ozerov updated IGNITE-2231: Fix Version/s: (was: 1.8) 2.0 > 'Put' cache event treats entry created at lock acquisition time as old value > > > Key: IGNITE-2231 > URL: https://issues.apache.org/jira/browse/IGNITE-2231 > Project: Ignite > Issue Type: Bug > Components: cache >Affects Versions: ignite-1.4 >Reporter: Denis Magda >Assignee: wmz7year > Labels: important > Fix For: 2.0 > > Attachments: EventsProcessingTest.java > > > Subscribe for EVT_CACHE_OBJECT_PUT event on one node and perform 'put' > operations from the other to an empty transnational cache. > The subscriber will receive a notification saying that there was an old value > for a key at the time the new was being inserted. In fact the was no an old > value, the entry with a {{null}} as a value was generated as a part of > implicit lock acquisition. > This snippet of the code in {{GridCacheMapEntry}} generates a wrong event > (innerSet function) > {noformat} > if (evt && newVer != null && > cctx.events().isRecordable(EVT_CACHE_OBJECT_PUT)) { > CacheObject evtOld = cctx.unwrapTemporary(old); > cctx.events().addEvent(partition(), > key, > evtNodeId, > tx == null ? null : tx.xid(), > newVer, > EVT_CACHE_OBJECT_PUT, > val, > val != null, > evtOld, > evtOld != null || hasValueUnlocked(), > subjId, null, taskName, > keepBinary); > } > {noformat} > Attached the test that lets reproduce the issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (IGNITE-2231) 'Put' cache event treats entry created at lock acquisition time as old value
[ https://issues.apache.org/jira/browse/IGNITE-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Tupitsyn updated IGNITE-2231: --- Fix Version/s: (was: 1.7) 1.8 > 'Put' cache event treats entry created at lock acquisition time as old value > > > Key: IGNITE-2231 > URL: https://issues.apache.org/jira/browse/IGNITE-2231 > Project: Ignite > Issue Type: Bug > Components: cache >Affects Versions: ignite-1.4 >Reporter: Denis Magda >Assignee: wmz7year > Labels: important > Fix For: 1.8 > > Attachments: EventsProcessingTest.java > > > Subscribe for EVT_CACHE_OBJECT_PUT event on one node and perform 'put' > operations from the other to an empty transnational cache. > The subscriber will receive a notification saying that there was an old value > for a key at the time the new was being inserted. In fact the was no an old > value, the entry with a {{null}} as a value was generated as a part of > implicit lock acquisition. > This snippet of the code in {{GridCacheMapEntry}} generates a wrong event > (innerSet function) > {noformat} > if (evt && newVer != null && > cctx.events().isRecordable(EVT_CACHE_OBJECT_PUT)) { > CacheObject evtOld = cctx.unwrapTemporary(old); > cctx.events().addEvent(partition(), > key, > evtNodeId, > tx == null ? null : tx.xid(), > newVer, > EVT_CACHE_OBJECT_PUT, > val, > val != null, > evtOld, > evtOld != null || hasValueUnlocked(), > subjId, null, taskName, > keepBinary); > } > {noformat} > Attached the test that lets reproduce the issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (IGNITE-2231) 'Put' cache event treats entry created at lock acquisition time as old value
[ https://issues.apache.org/jira/browse/IGNITE-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Denis Magda updated IGNITE-2231: Fix Version/s: (was: 1.6) 1.7 > 'Put' cache event treats entry created at lock acquisition time as old value > > > Key: IGNITE-2231 > URL: https://issues.apache.org/jira/browse/IGNITE-2231 > Project: Ignite > Issue Type: Bug > Components: cache >Affects Versions: ignite-1.4 >Reporter: Denis Magda >Assignee: wmz7year > Labels: important > Fix For: 1.7 > > Attachments: EventsProcessingTest.java > > > Subscribe for EVT_CACHE_OBJECT_PUT event on one node and perform 'put' > operations from the other to an empty transnational cache. > The subscriber will receive a notification saying that there was an old value > for a key at the time the new was being inserted. In fact the was no an old > value, the entry with a {{null}} as a value was generated as a part of > implicit lock acquisition. > This snippet of the code in {{GridCacheMapEntry}} generates a wrong event > (innerSet function) > {noformat} > if (evt && newVer != null && > cctx.events().isRecordable(EVT_CACHE_OBJECT_PUT)) { > CacheObject evtOld = cctx.unwrapTemporary(old); > cctx.events().addEvent(partition(), > key, > evtNodeId, > tx == null ? null : tx.xid(), > newVer, > EVT_CACHE_OBJECT_PUT, > val, > val != null, > evtOld, > evtOld != null || hasValueUnlocked(), > subjId, null, taskName, > keepBinary); > } > {noformat} > Attached the test that lets reproduce the issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (IGNITE-2231) 'Put' cache event treats entry created at lock acquisition time as old value
[ https://issues.apache.org/jira/browse/IGNITE-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexey Goncharuk updated IGNITE-2231: - Assignee: (was: Alexey Goncharuk) > 'Put' cache event treats entry created at lock acquisition time as old value > > > Key: IGNITE-2231 > URL: https://issues.apache.org/jira/browse/IGNITE-2231 > Project: Ignite > Issue Type: Bug > Components: cache >Affects Versions: ignite-1.4 >Reporter: Denis Magda > Labels: important > Fix For: 1.6 > > Attachments: EventsProcessingTest.java > > > Subscribe for EVT_CACHE_OBJECT_PUT event on one node and perform 'put' > operations from the other to an empty transnational cache. > The subscriber will receive a notification saying that there was an old value > for a key at the time the new was being inserted. In fact the was no an old > value, the entry with a {{null}} as a value was generated as a part of > implicit lock acquisition. > This snippet of the code in {{GridCacheMapEntry}} generates a wrong event > (innerSet function) > {noformat} > if (evt && newVer != null && > cctx.events().isRecordable(EVT_CACHE_OBJECT_PUT)) { > CacheObject evtOld = cctx.unwrapTemporary(old); > cctx.events().addEvent(partition(), > key, > evtNodeId, > tx == null ? null : tx.xid(), > newVer, > EVT_CACHE_OBJECT_PUT, > val, > val != null, > evtOld, > evtOld != null || hasValueUnlocked(), > subjId, null, taskName, > keepBinary); > } > {noformat} > Attached the test that lets reproduce the issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (IGNITE-2231) 'Put' cache event treats entry created at lock acquisition time as old value
[ https://issues.apache.org/jira/browse/IGNITE-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Denis Magda updated IGNITE-2231: Attachment: EventsProcessingTest.java > 'Put' cache event treats entry created at lock acquisition time as old value > > > Key: IGNITE-2231 > URL: https://issues.apache.org/jira/browse/IGNITE-2231 > Project: Ignite > Issue Type: Bug > Components: cache >Affects Versions: ignite-1.4 >Reporter: Denis Magda >Assignee: Alexey Goncharuk > Labels: important > Fix For: 1.6 > > Attachments: EventsProcessingTest.java > > > Subscribe for EVT_CACHE_OBJECT_PUT event on one node and perform 'put' > operations from the other to an empty transnational cache. > The subscriber will receive a notification saying that there was an old value > for a key at the time the new was being inserted. In fact the was no an old > value, the entry with a {{null}} as a value was generated as a part of > implicit lock acquisition. > This snippet of the code in {{GridCacheMapEntry}} generates a wrong event > (innerSet function) > {noformat} > if (evt && newVer != null && > cctx.events().isRecordable(EVT_CACHE_OBJECT_PUT)) { > CacheObject evtOld = cctx.unwrapTemporary(old); > cctx.events().addEvent(partition(), > key, > evtNodeId, > tx == null ? null : tx.xid(), > newVer, > EVT_CACHE_OBJECT_PUT, > val, > val != null, > evtOld, > evtOld != null || hasValueUnlocked(), > subjId, null, taskName, > keepBinary); > } > {noformat} > Attached the test that lets reproduce the issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)