Revert "HADOOP-12436. GlobPattern regex library has performance issues with wildcard characters (Matthew Paduano via aw)"
This reverts commit 0d77e85f0a
.
This commit is contained in:
parent
08f5de1ef5
commit
dc45a7a7c4
35
LICENSE.txt
35
LICENSE.txt
@ -320,41 +320,6 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
For com.google.re2j.* classes:
|
|
||||||
---------------------------------------------------------------------
|
|
||||||
This is a work derived from Russ Cox's RE2 in Go, whose license
|
|
||||||
http://golang.org/LICENSE is as follows:
|
|
||||||
|
|
||||||
Copyright (c) 2009 The Go Authors. All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are
|
|
||||||
met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
|
|
||||||
* Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in
|
|
||||||
the documentation and/or other materials provided with the
|
|
||||||
distribution.
|
|
||||||
|
|
||||||
* Neither the name of Google Inc. nor the names of its contributors
|
|
||||||
may be used to endorse or promote products derived from this
|
|
||||||
software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
For hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/fuse-dfs/util/tree.h
|
For hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/fuse-dfs/util/tree.h
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
||||||
|
@ -243,9 +243,6 @@ Trunk (Unreleased)
|
|||||||
|
|
||||||
HADOOP-12249. pull argument parsing into a function (aw)
|
HADOOP-12249. pull argument parsing into a function (aw)
|
||||||
|
|
||||||
HADOOP-12436. GlobPattern regex library has performance issues with
|
|
||||||
wildcard characters (Matthew Paduano via aw)
|
|
||||||
|
|
||||||
BUG FIXES
|
BUG FIXES
|
||||||
|
|
||||||
HADOOP-11473. test-patch says "-1 overall" even when all checks are +1
|
HADOOP-11473. test-patch says "-1 overall" even when all checks are +1
|
||||||
|
@ -191,12 +191,6 @@
|
|||||||
<artifactId>ant</artifactId>
|
<artifactId>ant</artifactId>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>com.google.re2j</groupId>
|
|
||||||
<artifactId>re2j</artifactId>
|
|
||||||
<version>${re2j.version}</version>
|
|
||||||
<scope>compile</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.protobuf</groupId>
|
<groupId>com.google.protobuf</groupId>
|
||||||
<artifactId>protobuf-java</artifactId>
|
<artifactId>protobuf-java</artifactId>
|
||||||
|
@ -18,8 +18,8 @@
|
|||||||
|
|
||||||
package org.apache.hadoop.fs;
|
package org.apache.hadoop.fs;
|
||||||
|
|
||||||
import com.google.re2j.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import com.google.re2j.PatternSyntaxException;
|
import java.util.regex.PatternSyntaxException;
|
||||||
|
|
||||||
import org.apache.hadoop.classification.InterfaceAudience;
|
import org.apache.hadoop.classification.InterfaceAudience;
|
||||||
import org.apache.hadoop.classification.InterfaceStability;
|
import org.apache.hadoop.classification.InterfaceStability;
|
||||||
@ -164,7 +164,6 @@ public boolean hasWildcard() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void error(String message, String pattern, int pos) {
|
private static void error(String message, String pattern, int pos) {
|
||||||
String fullMessage = String.format("%s at pos %d", message, pos);
|
throw new PatternSyntaxException(message, pattern, pos);
|
||||||
throw new PatternSyntaxException(fullMessage, pattern);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
package org.apache.hadoop.metrics2.filter;
|
package org.apache.hadoop.metrics2.filter;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import org.apache.commons.configuration.SubsetConfiguration;
|
import org.apache.commons.configuration.SubsetConfiguration;
|
||||||
@ -28,8 +30,6 @@
|
|||||||
import org.apache.hadoop.metrics2.MetricsFilter;
|
import org.apache.hadoop.metrics2.MetricsFilter;
|
||||||
import org.apache.hadoop.metrics2.MetricsTag;
|
import org.apache.hadoop.metrics2.MetricsTag;
|
||||||
|
|
||||||
import com.google.re2j.Matcher;
|
|
||||||
import com.google.re2j.Pattern;
|
|
||||||
/**
|
/**
|
||||||
* Base class for pattern based filters
|
* Base class for pattern based filters
|
||||||
*/
|
*/
|
||||||
|
@ -18,12 +18,12 @@
|
|||||||
|
|
||||||
package org.apache.hadoop.metrics2.filter;
|
package org.apache.hadoop.metrics2.filter;
|
||||||
|
|
||||||
|
import java.util.regex.Pattern;
|
||||||
import org.apache.hadoop.fs.GlobPattern;
|
import org.apache.hadoop.fs.GlobPattern;
|
||||||
|
|
||||||
import org.apache.hadoop.classification.InterfaceAudience;
|
import org.apache.hadoop.classification.InterfaceAudience;
|
||||||
import org.apache.hadoop.classification.InterfaceStability;
|
import org.apache.hadoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import com.google.re2j.Pattern;
|
|
||||||
/**
|
/**
|
||||||
* A glob pattern filter for metrics.
|
* A glob pattern filter for metrics.
|
||||||
*
|
*
|
||||||
|
@ -18,11 +18,11 @@
|
|||||||
|
|
||||||
package org.apache.hadoop.metrics2.filter;
|
package org.apache.hadoop.metrics2.filter;
|
||||||
|
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import org.apache.hadoop.classification.InterfaceAudience;
|
import org.apache.hadoop.classification.InterfaceAudience;
|
||||||
import org.apache.hadoop.classification.InterfaceStability;
|
import org.apache.hadoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import com.google.re2j.Pattern;
|
|
||||||
/**
|
/**
|
||||||
* A regex pattern filter for metrics
|
* A regex pattern filter for metrics
|
||||||
*/
|
*/
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import javax.security.auth.callback.Callback;
|
import javax.security.auth.callback.Callback;
|
||||||
import javax.security.auth.callback.CallbackHandler;
|
import javax.security.auth.callback.CallbackHandler;
|
||||||
@ -74,7 +75,6 @@
|
|||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.protobuf.ByteString;
|
import com.google.protobuf.ByteString;
|
||||||
import com.google.re2j.Pattern;
|
|
||||||
/**
|
/**
|
||||||
* A utility class that encapsulates SASL logic for RPC client
|
* A utility class that encapsulates SASL logic for RPC client
|
||||||
*/
|
*/
|
||||||
|
@ -18,10 +18,10 @@
|
|||||||
|
|
||||||
package org.apache.hadoop.fs;
|
package org.apache.hadoop.fs;
|
||||||
|
|
||||||
|
import java.util.regex.PatternSyntaxException;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
import com.google.re2j.PatternSyntaxException;
|
|
||||||
/**
|
/**
|
||||||
* Tests for glob patterns
|
* Tests for glob patterns
|
||||||
*/
|
*/
|
||||||
@ -69,11 +69,6 @@ private void shouldThrow(String... globs) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test public void testInvalidPatterns() {
|
@Test public void testInvalidPatterns() {
|
||||||
shouldThrow("[", "[[]]", "{", "\\");
|
shouldThrow("[", "[[]]", "[][]", "{", "\\");
|
||||||
}
|
|
||||||
|
|
||||||
@Test(timeout=1000) public void testPathologicalPatterns() {
|
|
||||||
String badFilename = "job_1429571161900_4222-1430338332599-tda%2D%2D+******************************+++...%270%27%28Stage-1430338580443-39-2000-SUCCEEDED-production%2Dhigh-1430338340360.jhist";
|
|
||||||
assertMatch(true, badFilename, badFilename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -68,9 +68,6 @@
|
|||||||
<jackson.version>1.9.13</jackson.version>
|
<jackson.version>1.9.13</jackson.version>
|
||||||
<jackson2.version>2.2.3</jackson2.version>
|
<jackson2.version>2.2.3</jackson2.version>
|
||||||
|
|
||||||
<!-- com.google.re2j version -->
|
|
||||||
<re2j.version>1.0</re2j.version>
|
|
||||||
|
|
||||||
<!-- ProtocolBuffer version, used to verify the protoc version and -->
|
<!-- ProtocolBuffer version, used to verify the protoc version and -->
|
||||||
<!-- define the protobuf JAR version -->
|
<!-- define the protobuf JAR version -->
|
||||||
<protobuf.version>2.5.0</protobuf.version>
|
<protobuf.version>2.5.0</protobuf.version>
|
||||||
|
Loading…
Reference in New Issue
Block a user