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;