zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ZOOKEEPER-2763) Utils.toCsvBuffer() omits leading 0 for bytes < 0x10
Date Fri, 28 Apr 2017 08:42:04 GMT

    [ https://issues.apache.org/jira/browse/ZOOKEEPER-2763?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15988422#comment-15988422
] 

ASF GitHub Bot commented on ZOOKEEPER-2763:
-------------------------------------------

Github user alburthoffman commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/238#discussion_r113880584
  
    --- Diff: src/java/main/org/apache/jute/Utils.java ---
    @@ -190,19 +190,32 @@ static String fromCSVString(String s) throws IOException {
         }
         
         /**
    +     * convert byte array to a string in hex format
          * 
    -     * @param s 
    -     * @return 
    +     * @param barr
    +     * @return
          */
    -    static String toXMLBuffer(byte barr[]) {
    --- End diff --
    
    @afine found the reason why not use DatatypeConverter:
    JAXB Providers are required to call the setDatatypeConverter api at some point before
the first marshal or unmarshal operation (perhaps during the call to JAXBContext.newInstance).
This step is necessary to configure the converter that should be used to perform the print
and parse functionality.
    
    In utils class, initialize JAXB is too heavy, so let's make it simple....


> Utils.toCsvBuffer() omits leading 0 for bytes < 0x10
> ----------------------------------------------------
>
>                 Key: ZOOKEEPER-2763
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2763
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: jute
>    Affects Versions: 3.5.2
>            Reporter: Brandon Berg
>            Assignee: Alburt Hoffman
>            Priority: Minor
>
> org.apache.jute.Utils.toCsvBuffer(), which converts a byte array to a string containing
the hex representation of that byte array, omits the leading zero for any byte less than 0x10,
due to its use of Integer.toHexString, which has the same behavior.
> https://github.com/apache/zookeeper/blob/master/src/java/main/org/apache/jute/Utils.java#L234
> One consequence of this is that the hex strings printed by ClientCnxn.Packet.toString(),
used in the debug logging for ClientCnxn.readResponse(), cannot be parsed to determine the
result of a Zookeeper request from client debug logs.
> Utils.toXmlBuffer() appears to have the same issue.
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message