You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2018/11/29 12:16:01 UTC
[05/50] [abbrv] ignite git commit: IGNITE-9996: Performance drop
final fix.
IGNITE-9996: Performance drop final fix.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/475a0a71
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/475a0a71
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/475a0a71
Branch: refs/heads/ignite-10044
Commit: 475a0a71500dc4f638100f3ec0c7f8029db42f4a
Parents: 5c01c41
Author: Nikolay Izhikov <ni...@apache.org>
Authored: Fri Nov 23 21:22:12 2018 +0300
Committer: Nikolay Izhikov <ni...@apache.org>
Committed: Fri Nov 23 21:31:02 2018 +0300
----------------------------------------------------------------------
.../cache/persistence/pagemem/PageMemoryImpl.java | 6 +++---
.../wal/serializer/RecordDataV1Serializer.java | 17 ++++++++++++++---
2 files changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/475a0a71/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageMemoryImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageMemoryImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageMemoryImpl.java
index 6f7d2c5..b64b294 100755
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageMemoryImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageMemoryImpl.java
@@ -228,7 +228,7 @@ public class PageMemoryImpl implements PageMemoryEx {
private final GridEncryptionManager encMgr;
/** */
- private final EncryptionSpi encSpi;
+ private final boolean encryptionDisabled;
/** */
private final IgniteLogger log;
@@ -324,7 +324,7 @@ public class PageMemoryImpl implements PageMemoryEx {
storeMgr = ctx.pageStore();
walMgr = ctx.wal();
encMgr = ctx.kernalContext().encryption();
- encSpi = ctx.gridConfig().getEncryptionSpi();
+ encryptionDisabled = ctx.gridConfig().getEncryptionSpi() instanceof NoopEncryptionSpi;
assert storeMgr != null;
assert walMgr != null;
@@ -973,7 +973,7 @@ public class PageMemoryImpl implements PageMemoryEx {
/** {@inheritDoc} */
@Override public int realPageSize(int grpId) {
- if ((encSpi instanceof NoopEncryptionSpi) || encMgr.groupKey(grpId) == null)
+ if (encryptionDisabled || encMgr.groupKey(grpId) == null)
return pageSize();
return encPageSize;
http://git-wip-us.apache.org/repos/asf/ignite/blob/475a0a71/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/serializer/RecordDataV1Serializer.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/serializer/RecordDataV1Serializer.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/serializer/RecordDataV1Serializer.java
index ab35f46..84c4074 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/serializer/RecordDataV1Serializer.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/serializer/RecordDataV1Serializer.java
@@ -146,6 +146,9 @@ public class RecordDataV1Serializer implements RecordDataSerializer {
private final GridEncryptionManager encMgr;
/** */
+ private final boolean encryptionDisabled;
+
+ /** */
private static final byte ENCRYPTED = 1;
/** */
@@ -162,6 +165,8 @@ public class RecordDataV1Serializer implements RecordDataSerializer {
this.encSpi = cctx.gridConfig().getEncryptionSpi();
this.encMgr = cctx.kernalContext().encryption();
+ encryptionDisabled = encSpi instanceof NoopEncryptionSpi;
+
//This happen on offline WAL iteration(we don't have encryption keys available).
if (encSpi != null)
this.realPageSize = CU.encryptedPageSize(pageSize, encSpi);
@@ -227,7 +232,7 @@ public class RecordDataV1Serializer implements RecordDataSerializer {
* @return {@code True} if this record should be encrypted.
*/
private boolean needEncryption(WALRecord rec) {
- if (encSpi instanceof NoopEncryptionSpi)
+ if (encryptionDisabled)
return false;
if (!(rec instanceof WalRecordCacheGroupAware))
@@ -241,7 +246,7 @@ public class RecordDataV1Serializer implements RecordDataSerializer {
* @return {@code True} if this record should be encrypted.
*/
private boolean needEncryption(int grpId) {
- if (encSpi instanceof NoopEncryptionSpi)
+ if (encryptionDisabled)
return false;
GridEncryptionManager encMgr = cctx.kernalContext().encryption();
@@ -1923,6 +1928,9 @@ public class RecordDataV1Serializer implements RecordDataSerializer {
* @return Real record type.
*/
RecordType recordType(WALRecord rec) {
+ if (encryptionDisabled)
+ return rec.type();
+
if (needEncryption(rec))
return ENCRYPTED_RECORD;
@@ -1937,6 +1945,9 @@ public class RecordDataV1Serializer implements RecordDataSerializer {
* @return {@code True} if this data record should be encrypted.
*/
boolean isDataRecordEncrypted(DataRecord rec) {
+ if (encryptionDisabled)
+ return false;
+
for (DataEntry e : rec.writeEntries()) {
if (cctx.cacheContext(e.cacheId()) != null && needEncryption(cctx.cacheContext(e.cacheId()).groupId()))
return true;
@@ -2014,7 +2025,7 @@ public class RecordDataV1Serializer implements RecordDataSerializer {
for (DataEntry entry : dataRec.writeEntries()) {
int clSz = entrySize(entry);
- if (needEncryption(cctx.cacheContext(entry.cacheId()).groupId()))
+ if (!encryptionDisabled && needEncryption(cctx.cacheContext(entry.cacheId()).groupId()))
sz += encSpi.encryptedSize(clSz) + 1 /* encrypted flag */ + 4 /* groupId */ + 4 /* data size */;
else {
sz += clSz;