[
https://issues.apache.org/jira/browse/HDFS-10595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16410448#comment-16410448
]
Hudson commented on HDFS-10595:
-------------------------------
SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #13869 (See
[https://builds.apache.org/job/Hadoop-trunk-Commit/13869/])
HDFS-10595: libhdfs++: deconflate client name and client id (james.clampffer:
rev 69cb05d2920a02435921028b70ed88c587823c05)
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_engine.h
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/util.cc
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_connection.cc
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_engine.cc
> libhdfs++: Client Name Protobuf Error
> -------------------------------------
>
> Key: HDFS-10595
> URL: https://issues.apache.org/jira/browse/HDFS-10595
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: hdfs-client
> Reporter: Anatoli Shein
> Assignee: Bob Hansen
> Priority: Major
> Attachments: HDFS-10595.HDFS-8707.patch.000
>
>
> When running a cat tool
> (/hadoop-hdfs-native-client/src/main/native/libhdfspp/examples/cat/c/cat.c) I
> get the following error:
> [libprotobuf ERROR google/protobuf/wire_format.cc:1053] String field contains
> invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type
> if you intend to send raw bytes.
> However it executes correctly. Looks like this error happens when trying to
> serialize Client name in ClientOperationHeaderProto::SerializeWithCachedSizes
> (/hadoop-hdfs-native-client/target/main/native/libhdfspp/lib/proto/datatransfer.pb.cc)
> Possibly the problem is caused by generating client name as a UUID in
> GetRandomClientName
> (/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/util.cc)
> In Java client it looks like there are two different unique client
> identifiers: ClientName and ClientId:
> Client name is generated as:
> clientName = "DFSClient_" + dfsClientConf.getTaskId() + "_" +
> ThreadLocalRandom.current().nextInt() + "_" +
> Thread.currentThread().getId();
> (/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java)
> ClientId is generated as a UUID in
> (/hadoop-common/src/main/java/org/apache/hadoop/ipc/ClientId.java)
> In libhdfs++ we need to possibly also have two unique client identifiers, or
> fix the current client name to work without protobuf warnings/errors.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]