You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2019/03/28 22:49:59 UTC

[asterixdb] 03/04: [NO ISSUE] Fix serialization of surrogate pairs on non-UTF8 platforms

This is an automated email from the ASF dual-hosted git repository.

mblow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit 963a5447acd48f4a0fca86689050e329904bfcd8
Author: Michael Blow <mb...@apache.org>
AuthorDate: Thu Mar 28 13:10:50 2019 -0400

    [NO ISSUE] Fix serialization of surrogate pairs on non-UTF8 platforms
    
    Change-Id: I17228e7dfdcd220e1c0caf5fcc8207fb8f3a7733
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/3300
    Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
    Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
    Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
    Reviewed-by: Murtadha Hubail <mh...@apache.org>
---
 .../apache/asterix/dataflow/data/nontagged/printers/PrintTools.java    | 3 ++-
 .../asterix-server/src/test/resources/NCServiceExecutionIT/cc.conf     | 2 ++
 .../java/org/apache/hyracks/test/server/process/HyracksCCProcess.java  | 1 +
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/PrintTools.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/PrintTools.java
index b8e1b43..a9c4d15 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/PrintTools.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/PrintTools.java
@@ -21,6 +21,7 @@ package org.apache.asterix.dataflow.data.nontagged.printers;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.PrintStream;
+import java.nio.charset.StandardCharsets;
 
 import org.apache.asterix.dataflow.data.nontagged.serde.ADoubleSerializerDeserializer;
 import org.apache.asterix.dataflow.data.nontagged.serde.AFloatSerializerDeserializer;
@@ -399,7 +400,7 @@ public class PrintTools {
         }
         final char lowSurrogate = UTF8StringUtil.charAt(src, lowSurrogatePos);
         final int lowSurrogateSize = UTF8StringUtil.charSize(src, lowSurrogatePos);
-        os.write(new String(new char[] { highSurrogate, lowSurrogate }).getBytes());
+        os.write(new String(new char[] { highSurrogate, lowSurrogate }).getBytes(StandardCharsets.UTF_8));
         return highSurrogateSize + lowSurrogateSize;
     }
 
diff --git a/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/cc.conf b/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/cc.conf
index f3dcd63..c20e7f2 100644
--- a/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/cc.conf
+++ b/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/cc.conf
@@ -22,6 +22,7 @@ iodevices=../asterix-server/target/tmp/asterix_nc1/iodevice1,../asterix-server/t
 nc.api.port=19004
 jvm.args=-Xloggc:/tmp/asterix-server-failsafe/asterix_nc1-%p-gc.log -XX:+PrintGC -XX:+PrintGCDateStamps -XX:GCLogFileSize=10M -XX:+PrintFlagsFinal
 #jvm.args=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5006
+jvm.args=-Dfile.encoding=iso-8859-1
 
 [nc/asterix_nc2]
 ncservice.port=9091
@@ -31,6 +32,7 @@ iodevices=../asterix-server/target/tmp/asterix_nc2/iodevice1,../asterix-server/t
 nc.api.port=19005
 jvm.args=-Xloggc:/tmp/asterix-server-failsafe/asterix_nc2-%p-gc.log -XX:+PrintGC -XX:+PrintGCDateStamps -XX:GCLogFileSize=10M -XX:+PrintFlagsFinal
 #jvm.args=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5007
+jvm.args=-Dfile.encoding=us-ascii
 
 [nc]
 address=127.0.0.1
diff --git a/hyracks-fullstack/hyracks/hyracks-server/src/test/java/org/apache/hyracks/test/server/process/HyracksCCProcess.java b/hyracks-fullstack/hyracks/hyracks-server/src/test/java/org/apache/hyracks/test/server/process/HyracksCCProcess.java
index 2ac6f2b..a79d033 100644
--- a/hyracks-fullstack/hyracks/hyracks-server/src/test/java/org/apache/hyracks/test/server/process/HyracksCCProcess.java
+++ b/hyracks-fullstack/hyracks/hyracks-server/src/test/java/org/apache/hyracks/test/server/process/HyracksCCProcess.java
@@ -49,5 +49,6 @@ public class HyracksCCProcess extends HyracksServerProcess {
         args.add("-Xmx1024m");
         cList.addAll(args);
         // cList.add("-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005");
+        cList.add("-Dfile.encoding=us-ascii");
     }
 }