[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;
     }