[ https://issues.apache.org/jira/browse/YARN-5167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15315628#comment-15315628 ]
Varun Saxena edited comment on YARN-5167 at 6/4/16 8:53 PM: ------------------------------------------------------------ Maybe we can add a note in javadoc stating that Separator#encode version with varargs should be preferred while encoding multiple separators, instead of calling single separator version of Separator#encode multiple times (because that will produce a longer encoded string). Also, as we are using pre-compiled patterns now, we can probably use it while calling split in Separator#splitEncoded as well. was (Author: varun_saxena): Maybe we can add a note in javadoc stating that Separator#encode version with varargs should be preferred while encoding multiple separators instead of calling single separator version of Separator#encode multiple times. Also, as we are using pre-compiled patterns now, we can probably use it while calling split in Separator#splitEncoded as well. > Escaping occurences of encodedValues > ------------------------------------ > > Key: YARN-5167 > URL: https://issues.apache.org/jira/browse/YARN-5167 > Project: Hadoop YARN > Issue Type: Sub-task > Components: timelineserver > Reporter: Joep Rottinghuis > Assignee: Sangjin Lee > Priority: Critical > Labels: yarn-2928-1st-milestone > Attachments: YARN-5167-YARN-2928.01.patch > > > We had earlier decided to punt on this, but in discussing YARN-5109 we > thought it would be best to just be safe rather than sorry later on. > Encoded sequences can occur in the original string, especially in case of > "foreign key" if we decide to have lookups. > For example, space is encoded as %2$. > Encoding "String with %2$ in it" would decode to "String with in it". > We though we should first escape existing occurrences of encoded strings by > prefixing a backslash (even if there is already a backslash that should be > ok). Then we should replace all unencoded strings. > On the way out, we should replace all occurrences of our encoded string to > the original except when it is prefixed by an escape character. Lastly we > should strip off the one additional backslash in front of each remaining > (escaped) sequence. > If we add the following entry to TestSeparator#testEncodeDecode() that > demonstrates what this jira should accomplish: > {code} > testEncodeDecode("Double-escape %2$ and %3$ or \\%2$ or \\%3$, nor > \\\\%2$ = no problem!", Separator.QUALIFIERS, > Separator.VALUES, Separator.SPACE, Separator.TAB); > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org