>From Shahrzad Shirazi <[email protected]>:

Shahrzad Shirazi has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20490?usp=email )


Change subject: [ASTERIXDB-3658][COMP] Fix serialization error in query with 
many selected fields.
......................................................................

[ASTERIXDB-3658][COMP] Fix serialization error in query with many selected 
fields.

Change-Id: If165897ba45cc685cd85258c1167a7252996666f
---
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/profiling/IOperatorStats.java
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/profiling/OperatorStats.java
2 files changed, 16 insertions(+), 2 deletions(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/90/20490/1

diff --git 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/profiling/IOperatorStats.java
 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/profiling/IOperatorStats.java
index 6b6f64a..7a5877f 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/profiling/IOperatorStats.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/profiling/IOperatorStats.java
@@ -113,7 +113,7 @@
     void updateFrom(IOperatorStats stats);

     static IOperatorStats create(DataInput input) throws IOException {
-        String name = input.readUTF();
+        String name = read(input);
         if (NoOpOperatorStats.NOOP_NAME.equals(name)) {
             return NoOpOperatorStats.INSTANCE;
         }
@@ -122,4 +122,11 @@
         operatorStats.readFields(input);
         return operatorStats;
     }
+
+    static String read(DataInput input) throws IOException {
+        int length = input.readInt();
+        byte[] data = new byte[length];
+        input.readFully(data);
+        return new String(data, "UTF-8");
+    }
 }
diff --git 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/profiling/OperatorStats.java
 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/profiling/OperatorStats.java
index 93ee0cd..1594168 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/profiling/OperatorStats.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/profiling/OperatorStats.java
@@ -21,6 +21,7 @@
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.util.HashMap;
 import java.util.Map;

@@ -193,7 +194,7 @@

     @Override
     public void writeFields(DataOutput output) throws IOException {
-        output.writeUTF(operatorName);
+        writeString(output, operatorName);
         output.writeUTF(operatorId);
         output.writeLong(tupleCounter.get());
         output.writeLong(timeCounter.get());
@@ -265,4 +266,10 @@
                 + bytesWritten.getName() + "\": " + bytesWritten.get() + ", 
\"" + level.getName() + "\": " + level.get()
                 + ", \"indexStats\": \"" + indexesStats + "\" }";
     }
+
+    private static void writeString(DataOutput output, String value) throws 
IOException {
+        byte[] data = value.getBytes(StandardCharsets.UTF_8);
+        output.writeInt(data.length);
+        output.write(data);
+    }
 }

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20490?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: asterixdb
Gerrit-Branch: phoenix
Gerrit-Change-Id: If165897ba45cc685cd85258c1167a7252996666f
Gerrit-Change-Number: 20490
Gerrit-PatchSet: 1
Gerrit-Owner: Shahrzad Shirazi <[email protected]>

Reply via email to