[NO ISSUE][TX]: Statement level atomicity for inserts/upserts/deletes
- user model changes: yes
- storage format changes: no
- interface changes: yes
Details:
With this change we introduce statement level atomicity for
inserts/upserts/deletes. The statement level atomicity is
only enabled for datasets created without any type specification.
Change-Id: I3b4aefeba07be921d128255393aec1b703198a40
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17598
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Peeyush Gupta <peeyush.gupta@couchbase.com>
Reviewed-by: Murtadha Al Hubail <mhubail@apache.org>
diff --git a/hyracks-fullstack/hyracks/hyracks-api/pom.xml b/hyracks-fullstack/hyracks/hyracks-api/pom.xml
index 366b585..136807c 100644
--- a/hyracks-fullstack/hyracks/hyracks-api/pom.xml
+++ b/hyracks-fullstack/hyracks/hyracks-api/pom.xml
@@ -98,5 +98,9 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-annotations</artifactId>
+ </dependency>
</dependencies>
</project>
diff --git a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/JobId.java b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/JobId.java
index de6b5ff..10db9f1 100644
--- a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/JobId.java
+++ b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/JobId.java
@@ -31,6 +31,11 @@
import org.apache.hyracks.api.exceptions.HyracksDataException;
import org.apache.hyracks.api.io.IWritable;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
public final class JobId implements IWritable, Serializable, Comparable {
private static final Pattern jobIdPattern = Pattern.compile("^JID:(\\d+)\\.(\\d+)$");
@@ -50,6 +55,7 @@
private JobId() {
}
+ @JsonCreator
public JobId(long id) {
this.id = id;
}
@@ -58,6 +64,7 @@
return id;
}
+ @JsonIgnore
public CcId getCcId() {
if (ccId == null) {
ccId = CcId.valueOf((int) (id >>> CcIdPartitionedLongFactory.ID_BITS));
@@ -65,6 +72,7 @@
return ccId;
}
+ @JsonIgnore
public long getIdOnly() {
return id & CcIdPartitionedLongFactory.MAX_ID;
}