You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by da...@apache.org on 2010/10/20 20:11:33 UTC
svn commit: r1025658 - in /pig/trunk: CHANGES.txt
src/org/apache/pig/tools/pigstats/PigStatsUtil.java
test/org/apache/pig/test/TestPigRunner.java
Author: daijy
Date: Wed Oct 20 18:11:33 2010
New Revision: 1025658
URL: http://svn.apache.org/viewvc?rev=1025658&view=rev
Log:
PIG-1685: Pig is unable to handle counters for glob paths ?
Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/tools/pigstats/PigStatsUtil.java
pig/trunk/test/org/apache/pig/test/TestPigRunner.java
Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1025658&r1=1025657&r2=1025658&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Wed Oct 20 18:11:33 2010
@@ -209,6 +209,8 @@ PIG-1309: Map-side Cogroup (ashutoshc)
BUG FIXES
+PIG-1685: Pig is unable to handle counters for glob paths ? (daijy)
+
PIG-1683: New logical plan: Nested foreach plan fail if one inner alias is refered more than once (daijy)
PIG-1542: log level not propogated to MR task loggers (nrai via daijy)
Modified: pig/trunk/src/org/apache/pig/tools/pigstats/PigStatsUtil.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/tools/pigstats/PigStatsUtil.java?rev=1025658&r1=1025657&r2=1025658&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/tools/pigstats/PigStatsUtil.java (original)
+++ pig/trunk/src/org/apache/pig/tools/pigstats/PigStatsUtil.java Wed Oct 20 18:11:33 2010
@@ -106,12 +106,7 @@ public abstract class PigStatsUtil {
* @return the counter name
*/
public static String getMultiStoreCounterName(POStore store) {
- String shortName = null;
- try {
- shortName = getShortName(new URI(store.getSFile().getFileName()));
- } catch (URISyntaxException e) {
- LOG.warn("Invalid syntax for output location", e);
- }
+ String shortName = getShortName(store.getSFile().getFileName());
return (shortName == null) ? null
: MULTI_STORE_RECORD_COUNTER + shortName;
}
@@ -123,12 +118,7 @@ public abstract class PigStatsUtil {
* @return the counter name
*/
public static String getMultiInputsCounterName(String fname) {
- String shortName = null;
- try {
- shortName = getShortName(new URI(fname));
- } catch (URISyntaxException e) {
- LOG.warn("Invalid syntax for input location", e);
- }
+ String shortName = getShortName(fname);
return (shortName == null) ? null
: MULTI_INPUTS_RECORD_COUNTER + shortName;
}
@@ -136,23 +126,21 @@ public abstract class PigStatsUtil {
private static final String SEPARATOR = "/";
private static final String SEMICOLON = ";";
- private static String getShortName(URI uri) {
- String path = uri.getPath();
- if (path != null) {
- int slash = path.lastIndexOf(SEPARATOR);
- return path.substring(slash+1);
- }
- // for cases such as
- // "jdbc:hsqldb:file:/tmp/batchtest;hsqldb.default_table_type=cached;hsqldb.cache_rows=100"
- path = uri.getSchemeSpecificPart();
- if (path != null) {
- int slash = path.lastIndexOf(SEPARATOR);
- int scolon = path.indexOf(SEMICOLON);
- if (slash < scolon) {
- return path.substring(slash+1, scolon);
- }
+ private static String getShortName(String uri) {
+ int scolon = uri.indexOf(SEMICOLON);
+ int slash;
+ if (scolon!=-1) {
+ slash = uri.lastIndexOf(SEPARATOR, scolon);
+ } else {
+ slash = uri.lastIndexOf(SEPARATOR);
+ }
+ if (scolon==-1) {
+ return uri.substring(slash+1);
+ }
+ if (slash < scolon) {
+ return uri.substring(slash+1, scolon);
}
- return null;
+ return null;
}
/**
Modified: pig/trunk/test/org/apache/pig/test/TestPigRunner.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestPigRunner.java?rev=1025658&r1=1025657&r2=1025658&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestPigRunner.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestPigRunner.java Wed Oct 20 18:11:33 2010
@@ -419,6 +419,12 @@ public class TestPigRunner {
String s = "jdbc:hsqldb:file:/tmp/batchtest;hsqldb.default_table_type=cached;hsqldb.cache_rows=100";
String name = PigStatsUtil.getMultiInputsCounterName(s);
assertEquals(PigStatsUtil.MULTI_INPUTS_RECORD_COUNTER + "batchtest", name);
+ s = "file:///tmp/batchtest{1,2}.txt";
+ name = PigStatsUtil.getMultiInputsCounterName(s);
+ assertEquals(PigStatsUtil.MULTI_INPUTS_RECORD_COUNTER + "batchtest{1,2}.txt", name);
+ s = "file:///tmp/batchtest*.txt";
+ name = PigStatsUtil.getMultiInputsCounterName(s);
+ assertEquals(PigStatsUtil.MULTI_INPUTS_RECORD_COUNTER + "batchtest*.txt", name);
}
@Test