diff --git a/.gitignore b/.gitignore index 87ee19c..0de7351 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /accumulo-1.6.2-src.tar.gz /accumulo-1.6.4-src.tar.gz /accumulo-1.6.6-src.tar.gz +/accumulo-1.8.1-src.tar.gz diff --git a/accumulo.spec b/accumulo.spec index 1f76979..d09ff38 100644 --- a/accumulo.spec +++ b/accumulo.spec @@ -5,8 +5,8 @@ %global main_class org.apache.%{name}.start.Main Name: accumulo -Version: 1.6.6 -Release: 14%{?dist} +Version: 1.8.1 +Release: 1%{?dist} Summary: A software platform for processing vast amounts of data License: ASL 2.0 Group: Development/Libraries @@ -23,28 +23,18 @@ Source5: %{name}-monitor.service # Java configuration file for Fedora Source6: %{name}.conf -# Use Jetty version 9 instead of 8 -Patch0: jetty9.patch -# Use current version of commons-configuration -Patch1: commons-configuration.patch -# Use current version of commons-math -Patch2: commons-math.patch # Apply Fedora JNI conventions Patch3: native-code.patch -# Disable broken tests -Patch4: disabled-tests.patch # Patch upstream-provided example configuration for Fedora Patch5: default-conf.patch -%if 0%{?fedora} > 24 -# Patch upstream ACCUMULO-3470 (update to commons-vfs 2.1) -Patch6: ACCUMULO-3470.patch -%endif -# Fix for Shell erroneously reading accumulo-site.xml -Patch7: shell-not-read-conf.patch # Fix for updating to flot 0.8 from 0.7 (adds flot.time) Patch8: flot8.patch # Workaround for https://github.com/jline/jline2/issues/205 Patch9: jline-shell-workaround.patch +# Fix version number in thrift script +Patch10: thrift-0.10.0.patch +# Fix differences with guava version +Patch11: guava.patch BuildRequires: apache-commons-cli BuildRequires: apache-commons-codec @@ -59,6 +49,7 @@ BuildRequires: apache-commons-vfs >= 2.1-7 %else BuildRequires: apache-commons-vfs < 2.1 %endif +BuildRequires: auto-service BuildRequires: beust-jcommander BuildRequires: bouncycastle BuildRequires: exec-maven-plugin @@ -83,6 +74,7 @@ BuildRequires: powermock-core BuildRequires: powermock-junit4 BuildRequires: slf4j BuildRequires: systemd-units +BuildRequires: thrift BuildRequires: zookeeper-java Requires: %{name}-core = %{version}-%{release} @@ -268,6 +260,22 @@ modify key/value pairs at various points in the data management process. This package provides native code for %{longproj}'s TServer. +%package shell +Summary: Shell for %{longproj} +License: ASL 2.0 +Group: Development/Libraries +Requires: %{name}-core = %{version}-%{release} +Requires: %{name}-tserver = %{version}-%{release} + +%description shell + %{longproj} is a sorted, distributed key/value store based on Google's +BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It +features a few novel improvements on the BigTable design in the form of +cell-level access labels and a server-side programming mechanism that can +modify key/value pairs at various points in the data management process. + +This package provides the shell service for %{longproj}. + %prep %autosetup -p1 # Remove flot and jquery bundling from upstream tarball @@ -276,11 +284,8 @@ rm -rf server/monitor/src/main/resources/web/flot/ # Update dependency versions %pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='jline']/pom:version" "2.10" %pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='zookeeper']/pom:version" "3.4.5" -%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='libthrift']/pom:version" "0.9.1" +%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='libthrift']/pom:version" "0.10.0" %pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='log4j']/pom:version" "1.2.17" -%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='commons-math']/pom:version" "3.2" -%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='commons-math']/pom:artifactId" "commons-math3" -%pom_xpath_set "pom:project/pom:dependencies/pom:dependency[pom:artifactId='commons-math']/pom:artifactId" "commons-math3" core %pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='bcprov-jdk15on']/pom:artifactId" "bcprov-jdk16" # Remove enforcer animal-sniffer rule @@ -295,6 +300,7 @@ rm -rf server/monitor/src/main/resources/web/flot/ %pom_disable_module assemble # Mini isn't needed %pom_disable_module minicluster +%pom_disable_module iterator-test-harness # Remove unneeded plugins %pom_remove_plugin :maven-checkstyle-plugin @@ -306,6 +312,7 @@ rm -rf server/monitor/src/main/resources/web/flot/ %pom_remove_plugin :findbugs-maven-plugin %pom_remove_plugin :maven-java-formatter-plugin %pom_remove_plugin :modernizer-maven-plugin +%pom_remove_plugin :apilyzer-maven-plugin core # Mini isn't needed #%%mvn_package ":%%{name}-minicluster" __noinstall @@ -317,6 +324,7 @@ rm -rf server/monitor/src/main/resources/web/flot/ %mvn_package ":%{name}-server-base" server-base %mvn_package ":%{name}-tracer" tracer %mvn_package ":%{name}-tserver" tserver +%mvn_package ":%{name}-shell" shell # build native, but skip install; JNI *.so is copied manually %mvn_package ":%{name}-native" __noinstall @@ -328,7 +336,7 @@ rm -rf server/monitor/src/main/resources/web/flot/ # especially in the start jar. These should be enabled when possible. # ITs are skipped, because they time out frequently and take too many resources # to run reliably. Failures do not reliably indicate meaningful issues. -%mvn_build -j -- -DforkCount=1C -DskipTests -DskipITs +%mvn_build -j -- -Pthrift -DforkCount=1C -DskipTests -DskipITs %install %mvn_install @@ -353,7 +361,7 @@ cp %{buildroot}%{_sysconfdir}/%{name}/log4j.properties %{buildroot}%{_sysconfdir cp %{buildroot}%{_sysconfdir}/%{name}/log4j.properties %{buildroot}%{_sysconfdir}/%{name}/monitor_logger.properties # main launcher -%jpackage_script %{main_class} "" "" %{name}:%{name}/%{name}-tserver:jetty:servlet:avro/avro:apache-commons-io:apache-commons-cli:apache-commons-codec:apache-commons-collections:apache-commons-configuration:apache-commons-lang:apache-commons-logging:apache-commons-math:apache-commons-vfs:beust-jcommander:google-gson:guava:hadoop/hadoop-auth:hadoop/hadoop-common:hadoop/hadoop-hdfs:jansi/jansi:jline/jline:libthrift:log4j-1.2.17:slf4j/slf4j-api:slf4j/slf4j-log4j12:zookeeper/zookeeper:protobuf-java %{name} true +%jpackage_script %{main_class} "" "" %{name}:%{name}/%{name}-tserver:jetty:servlet:avro/avro:apache-commons-io:apache-commons-cli:apache-commons-codec:apache-commons-collections:apache-commons-configuration:apache-commons-lang:apache-commons-logging:apache-commons-math:apache-commons-vfs:beust-jcommander:google-gson:guava:hadoop/hadoop-auth:hadoop/hadoop-common:hadoop/hadoop-hdfs:jansi/jansi:jline/jline:libthrift:log4j-1.2.17:slf4j/slf4j-api:slf4j/slf4j-log4j12:zookeeper/zookeeper:protobuf-java:jackson/jackson-mapper-asl:jackson/jackson-core-asl:htrace/htrace-core %{name} true # fixup the generated jpackage script sed -i -e 's/^#!\/bin\/sh$/#!\/usr\/bin\/bash/' %{buildroot}%{_bindir}/%{name} # ensure the java configuration options know which service is being called @@ -404,11 +412,11 @@ install -d -m 755 %{buildroot}%{_javaconfdir} install -p -m 755 %{SOURCE6} %{buildroot}%{_javaconfdir}/%{name}.conf %files +%doc LICENSE +%doc README.md +%doc NOTICE %files core -f .mfiles-core -%doc LICENSE -%doc README -%doc NOTICE %dir %{_javadir}/%{name} %dir %{_mavenpomdir}/%{name} %dir %{_datadir}/%{name} @@ -434,6 +442,9 @@ install -p -m 755 %{SOURCE6} %{buildroot}%{_javaconfdir}/%{name}.conf %attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/generic_logger.properties %attr(0644, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/log4j.properties %attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/monitor_logger.properties +%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/client.conf +%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/hadoop-metrics2-accumulo.properties + %files server-base -f .mfiles-server-base %{_bindir}/%{name}-init @@ -463,6 +474,8 @@ install -p -m 755 %{SOURCE6} %{buildroot}%{_javaconfdir}/%{name}.conf %files examples -f .mfiles-examples +%files shell -f .mfiles-shell + %files native %dir %{_libdir}/%{name} %{_libdir}/%{name}/lib%{name}.so @@ -517,6 +530,9 @@ getent passwd %{name} >/dev/null || /usr/sbin/useradd --comment "%{longproj}" -- %systemd_post %{name}-monitor.service %changelog +* Wed Mar 15 2017 Mike Miller - 1.8.1-1 +- Update to 1.8.1 + * Fri Feb 10 2017 Fedora Release Engineering - 1.6.6-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/default-conf.patch b/default-conf.patch index 1bc7f28..0c3c4c1 100644 --- a/default-conf.patch +++ b/default-conf.patch @@ -16,32 +16,16 @@ diff --git a/assemble/conf/templates/accumulo-site.xml b/assemble/conf/templates index 7fe3fe4..a9e29e1 100644 --- a/assemble/conf/templates/accumulo-site.xml +++ b/assemble/conf/templates/accumulo-site.xml -@@ -22,18 +22,15 @@ - you are simply testing at your workstation, you will most definitely need to change the three entries below. --> +@@ -23,7 +23,7 @@ -- instance.zookeeper.host -- localhost:2181 -- comma separated list of zookeeper servers -+ instance.volumes + instance.volumes +- + file:///tmp/accumulo -+ comma separated list of dfs URIs + comma separated list of URIs for volumes. example: hdfs://localhost:9000/accumulo - -- logger.dir.walog -- walogs -- The property only needs to be set if upgrading from 1.4 which used to store write-ahead logs on the local -- filesystem. In 1.5 write-ahead logs are stored in DFS. When 1.5 is started for the first time it will copy any 1.4 -- write ahead logs into DFS. It is possible to specify a comma-separated list of directories. -- -+ instance.zookeeper.host -+ localhost:2181 -+ comma separated list of zookeeper servers - - - -@@ -89,49 +86,13 @@ +@@ -123,54 +123,13 @@ ${mvnProjBaseDir} general.classpaths @@ -83,18 +67,23 @@ index 7fe3fe4..a9e29e1 100644 - /usr/hdp/current/hadoop-yarn-client/lib/jersey.*.jar, - /usr/hdp/current/hive-client/lib/hive-accumulo-handler.jar - -- -- $HADOOP_PREFIX/[^.].*.jar, -- $HADOOP_PREFIX/lib/(?!slf4j)[^.].*.jar, -- +- +- /usr/iop/current/hadoop-client/[^.].*.jar, +- /usr/iop/current/hadoop-client/lib/(?!slf4j)[^.].*.jar, +- /usr/iop/current/hadoop-hdfs-client/[^.].*.jar, +- /usr/iop/current/hadoop-mapreduce-client/[^.].*.jar, +- /usr/iop/current/hadoop-yarn-client/[^.].*.jar, +- /usr/iop/current/hadoop-yarn-client/lib/jersey.*.jar, +- /usr/iop/current/hive-client/lib/hive-accumulo-handler.jar +- - + /etc/accumulo/lib,/etc/hadoop Classpaths that accumulo checks for updates and class files. -+ + + general.dynamic.classpaths + /etc/accumulo/lib/ext + Classpaths that accumulo checks for updates and class files to dynamically load. + ++ diff --git a/disabled-tests.patch b/disabled-tests.patch index fe25c8f..58c8559 100644 --- a/disabled-tests.patch +++ b/disabled-tests.patch @@ -1,7 +1,7 @@ -diff --git a/core/src/test/java/org/apache/accumulo/core/util/shell/ShellSetInstanceTest.java b/core/src/test/java/org/apache/accumulo/core/util/shell/ShellSetInstanceTest.java +diff --git a/shell/src/test/java/org/apache/accumulo/shell/ShellSetInstanceTest.java b/shell/src/test/java/org/apache/accumulo/shell/ShellSetInstanceTest.java index 0453beb..84e4ad9 100644 ---- a/core/src/test/java/org/apache/accumulo/core/util/shell/ShellSetInstanceTest.java -+++ b/core/src/test/java/org/apache/accumulo/core/util/shell/ShellSetInstanceTest.java +--- a/shell/src/test/java/org/apache/accumulo/shell/ShellSetInstanceTest.java ++++ b/shell/src/test/java/org/apache/accumulo/shell/ShellSetInstanceTest.java @@ -53,6 +53,7 @@ import org.junit.After; import org.junit.AfterClass; import org.junit.Before; @@ -18,10 +18,10 @@ index 0453beb..84e4ad9 100644 public class ShellSetInstanceTest { public static class TestOutputStream extends OutputStream { StringBuilder sb = new StringBuilder(); -diff --git a/core/src/test/java/org/apache/accumulo/core/util/shell/commands/HistoryCommandTest.java b/core/src/test/java/org/apache/accumulo/core/util/shell/commands/HistoryCommandTest.java +diff --git a/shell/src/test/java/org/apache/accumulo/shell/commands/HistoryCommandTest.java b/shell/src/test/java/org/apache/accumulo/shell/commands/HistoryCommandTest.java index 9b98e4a..696a090 100644 ---- a/core/src/test/java/org/apache/accumulo/core/util/shell/commands/HistoryCommandTest.java -+++ b/core/src/test/java/org/apache/accumulo/core/util/shell/commands/HistoryCommandTest.java +--- a/shell/src/test/java/org/apache/accumulo/shell/commands/HistoryCommandTest.java ++++ b/shell/src/test/java/org/apache/accumulo/shell/commands/HistoryCommandTest.java @@ -33,6 +33,7 @@ import org.apache.accumulo.core.util.shell.Shell; import org.apache.commons.cli.CommandLine; import org.junit.Assume; diff --git a/guava.patch b/guava.patch new file mode 100644 index 0000000..df26956 --- /dev/null +++ b/guava.patch @@ -0,0 +1,52 @@ +diff --git a/core/src/main/java/org/apache/accumulo/core/sample/impl/DataoutputHasher.java b/core/src/main/java/org/apache/accumulo/core/sample/impl/DataoutputHasher.java +index d243dfe..35a18e2 100644 +--- a/core/src/main/java/org/apache/accumulo/core/sample/impl/DataoutputHasher.java ++++ b/core/src/main/java/org/apache/accumulo/core/sample/impl/DataoutputHasher.java +@@ -96,7 +96,7 @@ public class DataoutputHasher implements DataOutput { + + @Override + public void writeChars(String s) throws IOException { +- hasher.putString(s); ++ hasher.putString(s, StandardCharsets.UTF_8); + + } + +diff --git a/server/gc/src/main/java/org/apache/accumulo/gc/replication/CloseWriteAheadLogReferences.java b/server/gc/src/main/java/org/apache/accumulo/gc/replication/CloseWriteAheadLogReferences.java +index 0c09396..c95f375 100644 +--- a/server/gc/src/main/java/org/apache/accumulo/gc/replication/CloseWriteAheadLogReferences.java ++++ b/server/gc/src/main/java/org/apache/accumulo/gc/replication/CloseWriteAheadLogReferences.java +@@ -84,7 +84,7 @@ public class CloseWriteAheadLogReferences implements Runnable { + public void run() { + // As long as we depend on a newer Guava than Hadoop uses, we have to make sure we're compatible with + // what the version they bundle uses. +- Stopwatch sw = new Stopwatch(); ++ Stopwatch sw = Stopwatch.createUnstarted(); + + Connector conn; + try { +diff --git a/server/master/src/main/java/org/apache/accumulo/master/replication/RemoveCompleteReplicationRecords.java b/server/master/src/main/java/org/apache/accumulo/master/replication/RemoveCompleteReplicationRecords.java +index e286371..ef082b9 100644 +--- a/server/master/src/main/java/org/apache/accumulo/master/replication/RemoveCompleteReplicationRecords.java ++++ b/server/master/src/main/java/org/apache/accumulo/master/replication/RemoveCompleteReplicationRecords.java +@@ -83,7 +83,7 @@ public class RemoveCompleteReplicationRecords implements Runnable { + WorkSection.limit(bs); + bs.addScanIterator(cfg); + +- Stopwatch sw = new Stopwatch(); ++ Stopwatch sw = Stopwatch.createUnstarted(); + long recordsRemoved = 0; + try { + sw.start(); +diff --git a/test/src/main/java/org/apache/accumulo/test/functional/ScannerIT.java b/test/src/main/java/org/apache/accumulo/test/functional/ScannerIT.java +index 340a58e..b0ef0a7 100644 +--- a/test/src/main/java/org/apache/accumulo/test/functional/ScannerIT.java ++++ b/test/src/main/java/org/apache/accumulo/test/functional/ScannerIT.java +@@ -75,7 +75,7 @@ public class ScannerIT extends AccumuloClusterHarness { + s.setBatchSize(1); + s.setRange(new Range()); + +- Stopwatch sw = new Stopwatch(); ++ Stopwatch sw = Stopwatch.createUnstarted(); + Iterator> iterator = s.iterator(); + + sw.start(); diff --git a/jline-shell-workaround.patch b/jline-shell-workaround.patch index 52015f7..b9e3241 100644 --- a/jline-shell-workaround.patch +++ b/jline-shell-workaround.patch @@ -1,7 +1,33 @@ -diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java +diff --git a/shell/src/main/java/org/apache/accumulo/shell/Shell.java b/shell/src/main/java/org/apache/accumulo/shell/Shell.java index 9231c78..0336a67 100644 ---- a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java -+++ b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java +--- a/shell/src/main/java/org/apache/accumulo/shell/Shell.java ++++ b/shell/src/main/java/org/apache/accumulo/shell/Shell.java +@@ -228,6 +228,7 @@ public class Shell extends ShellOptions implements KeywordExecutable { + private long lastUserActivity = System.nanoTime(); + private boolean logErrorsToConsole = false; + private boolean masking = false; ++ private PrintWriter writer = null; + + { + // set the JLine output encoding to some reasonable default if it isn't already set +@@ -250,6 +251,8 @@ public class Shell extends ShellOptions implements KeywordExecutable { + public Shell(ConsoleReader reader) { + super(); + this.reader = reader; ++ this.writer = new PrintWriter(new OutputStreamWriter(System.out, Charset.forName(System.getProperty("jline.WindowsTerminal.output.encoding", ++System.getProperty("file.encoding"))))); + } + + /** +@@ -262,6 +265,8 @@ public class Shell extends ShellOptions implements KeywordExecutable { + public boolean config(String... args) throws IOException { + if (this.reader == null) + this.reader = new ConsoleReader(); ++ if (this.writer == null) ++ this.writer = new PrintWriter(new OutputStreamWriter(System.out, Charset.forName(System.getProperty("jline.WindowsTerminal.output.encoding", System.getProperty("file.encoding"))))); + ShellOptionsJC options = new ShellOptionsJC(); + JCommander jc = new JCommander(); + @@ -646,9 +646,10 @@ public class Shell extends ShellOptions { } @@ -13,7 +39,7 @@ index 9231c78..0336a67 100644 + writer.flush(); reader.flush(); } - + @@ -676,7 +677,9 @@ public class Shell extends ShellOptions { } } diff --git a/native-code.patch b/native-code.patch index d6eea5d..70c7140 100644 --- a/native-code.patch +++ b/native-code.patch @@ -15,12 +15,12 @@ diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/NativeMap. index f728a9b..4a056f0 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/NativeMap.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/NativeMap.java -@@ -62,7 +62,7 @@ public class NativeMap implements Iterable> { +@@ -69,7 +69,7 @@ public class NativeMap implements Iterable> { // Load native library static { // Check standard directories -- List directories = new ArrayList(Arrays.asList(new File[] {new File("/usr/lib64"), new File("/usr/lib")})); -+ List directories = new ArrayList(Arrays.asList(new File[] {new File("/usr/lib64/accumulo"), new File("/usr/lib/accumulo")})); +- List directories = new ArrayList<>(Arrays.asList(new File[] {new File("/usr/lib64"), new File("/usr/lib")})); ++ List directories = new ArrayList<>(Arrays.asList(new File[] {new File("/usr/lib64/accumulo"), new File("/usr/lib/accumulo")})); // Check in ACCUMULO_HOME location, too String envAccumuloHome = System.getenv("ACCUMULO_HOME"); if (envAccumuloHome != null) { diff --git a/sources b/sources index 3f8d6f9..20cb99c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -657005739bdcc4bed717fd4398e9f5df accumulo-1.6.6-src.tar.gz +SHA512 (accumulo-1.8.1-src.tar.gz) = c6ed00bb668954e504a564c0fffc5d0aa876bce6df2b5419e7b431911cb8b9831640a6ac658f8ecca81d473395652683eb29a0ed1407ab0be0239697919cd9c2 diff --git a/thrift-0.10.0.patch b/thrift-0.10.0.patch new file mode 100644 index 0000000..53ab218 --- /dev/null +++ b/thrift-0.10.0.patch @@ -0,0 +1,26 @@ +diff --git a/core/src/main/scripts/generate-thrift.sh b/core/src/main/scripts/generate-thrift.sh +index 691ea79..a149fd6 100755 +--- a/core/src/main/scripts/generate-thrift.sh ++++ b/core/src/main/scripts/generate-thrift.sh +@@ -26,7 +26,7 @@ + # INCLUDED_MODULES should be an array that includes other Maven modules with src/main/thrift directories + # Use INCLUDED_MODULES=(-) in calling scripts that require no other modules + # ======================================================================================================================== +-[[ -z $REQUIRED_THRIFT_VERSION ]] && REQUIRED_THRIFT_VERSION='0.9.3' ++[[ -z $REQUIRED_THRIFT_VERSION ]] && REQUIRED_THRIFT_VERSION='0.10.0' + [[ -z $INCLUDED_MODULES ]] && INCLUDED_MODULES=(../server/tracer) + [[ -z $BASE_OUTPUT_PACKAGE ]] && BASE_OUTPUT_PACKAGE='org.apache.accumulo.core' + [[ -z $PACKAGES_TO_GENERATE ]] && PACKAGES_TO_GENERATE=(gc master tabletserver security client.impl data replication trace) +diff --git a/server/base/src/test/java/org/apache/accumulo/server/rpc/RpcWrapperTest.java b/server/base/src/test/java/org/apache/accumulo/server/rpc/RpcWrapperTest.java +index d32178e..894acce 100644 +--- a/server/base/src/test/java/org/apache/accumulo/server/rpc/RpcWrapperTest.java ++++ b/server/base/src/test/java/org/apache/accumulo/server/rpc/RpcWrapperTest.java +@@ -288,7 +288,7 @@ public class RpcWrapperTest { + } + + @Override +- public TBase deepCopy() { ++ public foo_args deepCopy() { + throw new UnsupportedOperationException(); + } +