>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]>