[
https://issues.apache.org/jira/browse/HADOOP-12436?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matthew Paduano updated HADOOP-12436:
-------------------------------------
Description:
java.util.regex classes have performance problems with certain wildcard
patterns. Namely, consecutive * characters in a file name (not properly
escaped as literals) will cause commands such as "hadoop fs -ls file******name"
to consume 100% CPU and probably never return in a reasonable time (time scales
with number of *'s).
Here is an example:
{noformat}
hadoop fs -touchz
/user/mattp/job_1429571161900_4222-1430338332599-tda%2D%2D\\\+\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\+\\\+\\\+...%270%27%28Stage-1430338580443-39-2000-SUCCEEDED-production%2Dhigh-1430338340360.jhist
hadoop fs -ls
/user/mattp/job_1429571161900_4222-1430338332599-tda%2D%2D+******************************+++...%270%27%28Stage-1430338580443-39-2000-SUCCEEDED-production%2Dhigh-1430338340360.jhist
{noformat}
causes:
{noformat}
PID COMMAND %CPU TIME
14526 java 100.0 01:18.85
{noformat}
was:
java.util.regex classes have performance problems with certain wildcard
patterns. Namely, consecutive * characters in a file name (not properly
escaped as literals) will cause commands such as "hadoop fs -ls file******name"
to consume 100% CPU and probably never return in a reasonable time (time scales
with number of *'s).
Here is an example:
{noformat}
hdfs dfs -ls
'/tmp/job_1429571161900_4222-1430338332599-tda%2D%2D+******************************+++...%270%27%28Stage-1430338580443-39-2000-SUCCEEDED-production%2Dhigh-1430338340360.jhist'
{noformat}
> GlobPattern regex library has performance issues with wildcard characters
> -------------------------------------------------------------------------
>
> Key: HADOOP-12436
> URL: https://issues.apache.org/jira/browse/HADOOP-12436
> Project: Hadoop Common
> Issue Type: Improvement
> Components: fs
> Affects Versions: 2.2.0, 2.7.1
> Reporter: Matthew Paduano
> Assignee: Matthew Paduano
>
> java.util.regex classes have performance problems with certain wildcard
> patterns. Namely, consecutive * characters in a file name (not properly
> escaped as literals) will cause commands such as "hadoop fs -ls
> file******name" to consume 100% CPU and probably never return in a reasonable
> time (time scales with number of *'s).
> Here is an example:
> {noformat}
> hadoop fs -touchz
> /user/mattp/job_1429571161900_4222-1430338332599-tda%2D%2D\\\+\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\*\\\+\\\+\\\+...%270%27%28Stage-1430338580443-39-2000-SUCCEEDED-production%2Dhigh-1430338340360.jhist
> hadoop fs -ls
> /user/mattp/job_1429571161900_4222-1430338332599-tda%2D%2D+******************************+++...%270%27%28Stage-1430338580443-39-2000-SUCCEEDED-production%2Dhigh-1430338340360.jhist
> {noformat}
> causes:
> {noformat}
> PID COMMAND %CPU TIME
> 14526 java 100.0 01:18.85
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)