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 2017/05/03 07:21:55 UTC
[17/50] [abbrv] ignite git commit: GG-11860 Implement snapshot status
on platform level -fixing race with operation finish message
GG-11860 Implement snapshot status on platform level
-fixing race with operation finish message
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b51a2f80
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b51a2f80
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b51a2f80
Branch: refs/heads/ignite-gg-8.0.3.ea6-clients-test
Commit: b51a2f8006a13a24e7115c44bcb7124ee20be255
Parents: a62cc45
Author: EdShangGG <es...@gridgain.com>
Authored: Thu Mar 2 22:20:08 2017 +0300
Committer: EdShangGG <es...@gridgain.com>
Committed: Thu Mar 2 22:20:08 2017 +0300
----------------------------------------------------------------------
.../StartFullSnapshotDiscoveryMessage.java | 164 ------------------
...artSnapshotOperationAckDiscoveryMessage.java | 12 ++
.../StartSnapshotOperationDiscoveryMessage.java | 167 +++++++++++++++++++
.../resources/META-INF/classnames.properties | 2 +-
4 files changed, 180 insertions(+), 165 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b51a2f80/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
deleted file mode 100644
index 3a67e49..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.ignite.internal.pagemem.snapshot;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-import org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.lang.IgniteUuid;
-import org.jetbrains.annotations.Nullable;
-
-/**
- * Message indicating that a snapshot has been started.
- */
-public class StartFullSnapshotDiscoveryMessage implements DiscoveryCustomMessage {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** Custom message ID. */
- private IgniteUuid id = IgniteUuid.randomUuid();
-
- /** Snapshot operation. */
- private SnapshotOperation snapshotOperation;
-
- /** */
- private UUID initiatorId;
-
- /** Error. */
- private Exception err;
-
- /** Last full snapshot id for cache. */
- private Map<Integer, Long> lastFullSnapshotIdForCache = new HashMap<>();
-
- /** Last snapshot id for cache. */
- private Map<Integer, Long> lastSnapshotIdForCache = new HashMap<>();
-
- /**
- * @param snapshotOperation Snapshot operation
- * @param initiatorId initiator node id
- */
- public StartFullSnapshotDiscoveryMessage(
- SnapshotOperation snapshotOperation,
- UUID initiatorId
- ) {
- this.snapshotOperation = snapshotOperation;
- this.initiatorId = initiatorId;
- }
-
- /**
- *
- */
- public SnapshotOperation snapshotOperation() {
- return snapshotOperation;
- }
-
- /**
- * Sets error.
- *
- * @param err Error.
- */
- public void error(Exception err) {
- this.err = err;
- }
-
- /**
- * @return {@code True} if message contains error.
- */
- public boolean hasError() {
- return err != null;
- }
-
- /**
- * @return Error.
- */
- public Exception error() {
- return err;
- }
-
- /**
- * @return Initiator node id.
- */
- public UUID initiatorId() {
- return initiatorId;
- }
-
- /** {@inheritDoc} */
- @Override public IgniteUuid id() {
- return id;
- }
-
- /**
- * @param cacheId Cache id.
- */
- public Long lastFullSnapshotId(int cacheId) {
- return lastFullSnapshotIdForCache.get(cacheId);
- }
-
- /**
- * @param cacheId Cache id.
- * @param id Id.
- */
- public void lastFullSnapshotId(int cacheId, long id) {
- lastFullSnapshotIdForCache.put(cacheId, id);
- }
-
- /**
- * @param cacheId Cache id.
- */
- public Long lastSnapshotId(int cacheId) {
- return lastSnapshotIdForCache.get(cacheId);
- }
-
- /**
- * @param cacheId Cache id.
- * @param id Id.
- */
- public void lastSnapshotId(int cacheId, long id) {
- lastSnapshotIdForCache.put(cacheId, id);
- }
-
- /** {@inheritDoc} */
- @Nullable @Override public DiscoveryCustomMessage ackMessage() {
- return new StartSnapshotOperationAckDiscoveryMessage(
- snapshotOperation,
- lastFullSnapshotIdForCache,
- lastSnapshotIdForCache,
- err,
- initiatorId);
- }
-
- /** {@inheritDoc} */
- @Override public boolean isMutable() {
- return true;
- }
-
- /**
- * @param snapshotOperation new snapshot operation
- */
- public void snapshotOperation(SnapshotOperation snapshotOperation) {
- this.snapshotOperation = snapshotOperation;
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(StartFullSnapshotDiscoveryMessage.class, this);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b51a2f80/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartSnapshotOperationAckDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartSnapshotOperationAckDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartSnapshotOperationAckDiscoveryMessage.java
index e84b2e8..72defd4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartSnapshotOperationAckDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartSnapshotOperationAckDiscoveryMessage.java
@@ -38,6 +38,9 @@ public class StartSnapshotOperationAckDiscoveryMessage implements DiscoveryCusto
/** Custom message ID. */
private IgniteUuid id = IgniteUuid.randomUuid();
+ /** Operation id. */
+ private IgniteUuid opId;
+
/** */
private Exception err;
@@ -55,12 +58,14 @@ public class StartSnapshotOperationAckDiscoveryMessage implements DiscoveryCusto
* @param err Error.
*/
public StartSnapshotOperationAckDiscoveryMessage(
+ IgniteUuid id,
SnapshotOperation snapshotOperation,
Map<Integer, Long> lastFullSnapshotIdForCache,
Map<Integer, Long> lastSnapshotIdForCache,
Exception err,
UUID initiatorNodeId
) {
+ this.opId = id;
this.snapshotOperation = snapshotOperation;
this.lastFullSnapshotIdForCache = lastFullSnapshotIdForCache;
this.lastSnapshotIdForCache = lastSnapshotIdForCache;
@@ -74,6 +79,13 @@ public class StartSnapshotOperationAckDiscoveryMessage implements DiscoveryCusto
}
/**
+ *
+ */
+ public IgniteUuid operationId() {
+ return opId;
+ }
+
+ /**
* @return Initiator node id.
*/
public UUID initiatorNodeId() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b51a2f80/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartSnapshotOperationDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartSnapshotOperationDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartSnapshotOperationDiscoveryMessage.java
new file mode 100644
index 0000000..2373a9b
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartSnapshotOperationDiscoveryMessage.java
@@ -0,0 +1,167 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.ignite.internal.pagemem.snapshot;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+import org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.lang.IgniteUuid;
+import org.jetbrains.annotations.Nullable;
+
+/**
+ * Message indicating that a snapshot has been started.
+ */
+public class StartSnapshotOperationDiscoveryMessage implements DiscoveryCustomMessage {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Custom message ID. */
+ private IgniteUuid id;
+
+ /** Snapshot operation. */
+ private SnapshotOperation snapshotOperation;
+
+ /** */
+ private UUID initiatorId;
+
+ /** Error. */
+ private Exception err;
+
+ /** Last full snapshot id for cache. */
+ private Map<Integer, Long> lastFullSnapshotIdForCache = new HashMap<>();
+
+ /** Last snapshot id for cache. */
+ private Map<Integer, Long> lastSnapshotIdForCache = new HashMap<>();
+
+ /**
+ * @param snapshotOperation Snapshot operation
+ * @param initiatorId initiator node id
+ */
+ public StartSnapshotOperationDiscoveryMessage(
+ IgniteUuid id,
+ SnapshotOperation snapshotOperation,
+ UUID initiatorId
+ ) {
+ this.id = id;
+ this.snapshotOperation = snapshotOperation;
+ this.initiatorId = initiatorId;
+ }
+
+ /**
+ *
+ */
+ public SnapshotOperation snapshotOperation() {
+ return snapshotOperation;
+ }
+
+ /**
+ * Sets error.
+ *
+ * @param err Error.
+ */
+ public void error(Exception err) {
+ this.err = err;
+ }
+
+ /**
+ * @return {@code True} if message contains error.
+ */
+ public boolean hasError() {
+ return err != null;
+ }
+
+ /**
+ * @return Error.
+ */
+ public Exception error() {
+ return err;
+ }
+
+ /**
+ * @return Initiator node id.
+ */
+ public UUID initiatorId() {
+ return initiatorId;
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteUuid id() {
+ return id;
+ }
+
+ /**
+ * @param cacheId Cache id.
+ */
+ public Long lastFullSnapshotId(int cacheId) {
+ return lastFullSnapshotIdForCache.get(cacheId);
+ }
+
+ /**
+ * @param cacheId Cache id.
+ * @param id Id.
+ */
+ public void lastFullSnapshotId(int cacheId, long id) {
+ lastFullSnapshotIdForCache.put(cacheId, id);
+ }
+
+ /**
+ * @param cacheId Cache id.
+ */
+ public Long lastSnapshotId(int cacheId) {
+ return lastSnapshotIdForCache.get(cacheId);
+ }
+
+ /**
+ * @param cacheId Cache id.
+ * @param id Id.
+ */
+ public void lastSnapshotId(int cacheId, long id) {
+ lastSnapshotIdForCache.put(cacheId, id);
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public DiscoveryCustomMessage ackMessage() {
+ return new StartSnapshotOperationAckDiscoveryMessage(
+ id,
+ snapshotOperation,
+ lastFullSnapshotIdForCache,
+ lastSnapshotIdForCache,
+ err,
+ initiatorId);
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isMutable() {
+ return true;
+ }
+
+ /**
+ * @param snapshotOperation new snapshot operation
+ */
+ public void snapshotOperation(SnapshotOperation snapshotOperation) {
+ this.snapshotOperation = snapshotOperation;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(StartSnapshotOperationDiscoveryMessage.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b51a2f80/modules/core/src/main/resources/META-INF/classnames.properties
----------------------------------------------------------------------
diff --git a/modules/core/src/main/resources/META-INF/classnames.properties b/modules/core/src/main/resources/META-INF/classnames.properties
index 13a3bce..1750276 100644
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@ -329,7 +329,7 @@ org.apache.ignite.internal.pagemem.impl.PageMemoryNoStoreImpl$Segment
org.apache.ignite.internal.pagemem.snapshot.SnapshotOperationFinishedMessage
org.apache.ignite.internal.pagemem.snapshot.SnapshotProgressMessage
org.apache.ignite.internal.pagemem.snapshot.StartSnapshotOperationAckDiscoveryMessage
-org.apache.ignite.internal.pagemem.snapshot.StartFullSnapshotDiscoveryMessage
+org.apache.ignite.internal.pagemem.snapshot.StartSnapshotOperationDiscoveryMessage
org.apache.ignite.internal.pagemem.wal.StorageException
org.apache.ignite.internal.pagemem.wal.WALIterator
org.apache.ignite.internal.pagemem.wal.record.StoreOperationRecord$StoreOperationType