Compare commits

..

No commits in common. "rawhide" and "f26" have entirely different histories.

17 changed files with 6492 additions and 1 deletions

6
.gitignore vendored Normal file
View file

@ -0,0 +1,6 @@
/accumulo-1.6.0-0616258.tar.gz
/accumulo-1.6.1-src.tar.gz
/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

File diff suppressed because it is too large Load diff

12
accumulo-gc.service Normal file
View file

@ -0,0 +1,12 @@
[Unit]
Description=Apache Accumulo Garbage Collector service
After=syslog.target network.target
[Service]
User=accumulo
Group=accumulo
ExecStart=/usr/bin/accumulo gc
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target

12
accumulo-master.service Normal file
View file

@ -0,0 +1,12 @@
[Unit]
Description=Apache Accumulo Master service
After=syslog.target network.target
[Service]
User=accumulo
Group=accumulo
ExecStart=/usr/bin/accumulo master
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target

12
accumulo-monitor.service Normal file
View file

@ -0,0 +1,12 @@
[Unit]
Description=Apache Accumulo Monitor service
After=syslog.target network.target
[Service]
User=accumulo
Group=accumulo
ExecStart=/usr/bin/accumulo monitor
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target

12
accumulo-tracer.service Normal file
View file

@ -0,0 +1,12 @@
[Unit]
Description=Apache Accumulo Tracer service
After=syslog.target network.target
[Service]
User=accumulo
Group=accumulo
ExecStart=/usr/bin/accumulo tracer
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target

12
accumulo-tserver.service Normal file
View file

@ -0,0 +1,12 @@
[Unit]
Description=Apache Accumulo TServer service
After=syslog.target network.target
[Service]
User=accumulo
Group=accumulo
ExecStart=/usr/bin/accumulo tserver
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target

34
accumulo.conf Normal file
View file

@ -0,0 +1,34 @@
#!/usr/bin/bash
# This file is sourced by /usr/bin/accumulo before launching java. It will use
# the $ACCUMULO_OPTS environment variable created here to add options to the
# java command line. This file can be overridden per-user by creating a
# $HOME/.accumulorc to be sourced after this file.
# The $1 parameter is passed with the first argument provided to
# /usr/bin/accumulo, which is usually the name of the accumulo service or
# function to run.
# Append some common arguments
#
# Note: app isn't used for anything, but makes it easier to locate services
# quickly with ps/top/etc output
ACCUMULO_OPTS=("-Dapp=$1" '-XX:+UseConcMarkSweepGC' '-XX:CMSInitiatingOccupancyFraction=75' '-Djava.net.preferIPv4Stack=true' '-XX:-OmitStackTraceInFastThrow' '-Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl' '-XX:OnOutOfMemoryError=kill -9 %p')
# Append some service-specific arguments
case "$1" in
gc) ACCUMULO_OPTS=("${ACCUMULO_OPTS[@]}" '-Xmx256m' '-Xms256m') ;;
master) ACCUMULO_OPTS=("${ACCUMULO_OPTS[@]}" '-Xmx1g' '-Xms1g') ;;
monitor) ACCUMULO_OPTS=("${ACCUMULO_OPTS[@]}" '-Xmx1g' '-Xms256m') ;;
tserver) ACCUMULO_OPTS=("${ACCUMULO_OPTS[@]}" '-Xmx1g' '-Xms1g' '-XX:NewSize=500m' '-XX:MaxNewSize=500m') ;;
*) ACCUMULO_OPTS=("${ACCUMULO_OPTS[@]}" '-Xmx1g' '-Xms256m') ;;
esac
# Set this because it's read by the VFS classloader
export ACCUMULO_HOME=/etc/accumulo
# Set these because they could be referenced by logger configuration
export ACCUMULO_CONF_DIR=/etc/accumulo
export ACCUMULO_LOG_DIR=/var/log/accumulo
# See HADOOP-7154 and ACCUMULO-847
export MALLOC_ARENA_MAX=1

661
accumulo.spec Normal file
View file

@ -0,0 +1,661 @@
%global _hardened_build 1
%global longproj Apache Accumulo
# jpackage main class
%global main_class org.apache.%{name}.start.Main
Name: accumulo
Version: 1.8.1
Release: 9%{?dist}
Summary: A software platform for processing vast amounts of data
License: ASL 2.0
Group: Development/Libraries
URL: https://%{name}.apache.org
Source0: https://www.apache.org/dist/%{name}/%{version}/%{name}-%{version}-src.tar.gz
# systemd service files
Source1: %{name}-master.service
Source2: %{name}-tserver.service
Source3: %{name}-gc.service
Source4: %{name}-tracer.service
Source5: %{name}-monitor.service
# Java configuration file for Fedora
Source6: %{name}.conf
# Backport upstream update to thrift 0.10.0 before any Fedora patches
Patch0: ACCUMULO-4551-and-4584-backport.patch
# Apply Fedora JNI conventions
Patch3: native-code.patch
# Patch upstream-provided example configuration for Fedora
Patch5: default-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 differences with guava version
Patch11: guava.patch
BuildRequires: apache-commons-cli
BuildRequires: apache-commons-codec
BuildRequires: apache-commons-collections
BuildRequires: apache-commons-configuration
BuildRequires: apache-commons-io
BuildRequires: apache-commons-lang
BuildRequires: apache-commons-logging
BuildRequires: apache-commons-math
BuildRequires: apache-commons-vfs >= 2.1-7
BuildRequires: apache-parent
BuildRequires: auto-service
BuildRequires: beust-jcommander
BuildRequires: bouncycastle
BuildRequires: exec-maven-plugin
BuildRequires: google-gson
BuildRequires: guava
BuildRequires: hadoop-client
BuildRequires: hadoop-tests
BuildRequires: jackson-core
BuildRequires: java-devel
BuildRequires: jetty-security
BuildRequires: jetty-server
BuildRequires: jetty-servlet
BuildRequires: jetty-util
BuildRequires: jline2
BuildRequires: jpackage-utils
BuildRequires: libthrift-java >= 0.10.0
BuildRequires: log4j12
BuildRequires: maven-assembly-plugin
BuildRequires: maven-local
BuildRequires: mvn(javax.servlet:javax.servlet-api)
BuildRequires: native-maven-plugin
BuildRequires: powermock-api-easymock
BuildRequires: powermock-core
BuildRequires: powermock-junit4
BuildRequires: slf4j
BuildRequires: systemd
BuildRequires: thrift >= 0.10.0
BuildRequires: zookeeper-java
Requires: %{name}-core = %{version}-%{release}
Requires: %{name}-shell = %{version}-%{release}
Requires: %{name}-master = %{version}-%{release}
Requires: %{name}-tserver = %{version}-%{release}
Requires: %{name}-gc = %{version}-%{release}
Requires: %{name}-monitor = %{version}-%{release}
Requires: %{name}-tracer = %{version}-%{release}
Requires: %{name}-examples = %{version}-%{release}
Requires: %{name}-native%{?_isa} = %{version}-%{release}
%description
%{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.
%package core
Summary: Libraries for %{longproj} Java clients
# the bloom filter code is BSD licensed, everything else is ASL 2.0
License: ASL 2.0 and BSD
Group: Applications/System
BuildArch: noarch
Requires(pre): /usr/sbin/useradd
Requires: libthrift-java >= 0.10.0
Obsoletes: %{name}-javadoc < 1.6.0-5%{?dist}
%description core
%{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 libraries for %{longproj} clients.
%package server-base
Summary: The %{longproj} Server Base libraries
License: ASL 2.0
Group: Applications/System
BuildArch: noarch
Requires: %{name}-core = %{version}-%{release}
%description server-base
%{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 jars for other %{longproj} services.
%package master
Summary: The %{longproj} Master service
License: ASL 2.0
Group: Applications/System
BuildArch: noarch
Requires: %{name}-core = %{version}-%{release}
Requires: %{name}-server-base = %{version}-%{release}
Requires: systemd
%description master
%{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 master service for %{longproj}.
%package tserver
Summary: The %{longproj} TServer service
License: ASL 2.0
Group: Applications/System
BuildArch: noarch
Requires: %{name}-core = %{version}-%{release}
Requires: %{name}-server-base = %{version}-%{release}
Requires: systemd
%description tserver
%{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 tserver service for %{longproj}.
%package gc
Summary: The %{longproj} Garbage Collector service
License: ASL 2.0
Group: Applications/System
BuildArch: noarch
Requires: %{name}-core = %{version}-%{release}
Requires: %{name}-server-base = %{version}-%{release}
Requires: systemd
%description gc
%{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 gc service for %{longproj}.
%package monitor
Summary: The %{longproj} Monitor service
License: ASL 2.0
Group: Applications/System
BuildArch: noarch
Requires: %{name}-core = %{version}-%{release}
Requires: %{name}-server-base = %{version}-%{release}
Requires: systemd
Requires: nodejs-flot
Requires: js-jquery1
%description monitor
%{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 monitor service for %{longproj}.
%package tracer
Summary: The %{longproj} Tracer service
License: ASL 2.0
Group: Applications/System
BuildArch: noarch
Requires: %{name}-core = %{version}-%{release}
Requires: %{name}-server-base = %{version}-%{release}
Requires: systemd
%description tracer
%{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 tracer service for %{longproj}.
%package examples
Summary: Examples for %{longproj}
License: ASL 2.0
Group: Applications/System
BuildArch: noarch
Requires: %{name}-core = %{version}-%{release}
%description examples
%{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 examples for %{longproj}.
%package native
Summary: Native libraries for %{longproj}
License: ASL 2.0
Group: Development/Libraries
Requires: %{name}-tserver = %{version}-%{release}
%description native
%{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 native code for %{longproj}'s TServer.
%package shell
Summary: Shell for %{longproj}
License: ASL 2.0
Group: Development/Libraries
Requires: %{name}-core = %{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 client for %{longproj}.
%prep
%autosetup -p1
# Remove tests which use MiniDFSCluster, because Hadoop is still using old
# Jetty versions, and the class path is hard to get correct for these
rm -rf start/src/test/java/org/apache/accumulo/start/classloader/vfs/
rm -f core/src/test/java/org/apache/accumulo/core/conf/CredentialProviderFactoryShimTest.java
# Remove test(s) which rely on questionable log or console capturing behavior
rm -f core/src/test/java/org/apache/accumulo/core/iterators/user/{,BigDecimal}CombinerTest.java
rm -f shell/src/test/java/org/apache/accumulo/shell/Shell{,Config}Test.java
# Make sure thrift script from thrift 0.10.0 patch is executable
chmod +x test/src/main/scripts/generate-thrift.sh
# Remove flot and jquery bundling from upstream tarball
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.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='bcprov-jdk15on']/pom:artifactId" "bcprov-jdk16"
# Remove enforcer animal-sniffer rule
%pom_xpath_remove "pom:project/pom:build/pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId='maven-enforcer-plugin']/pom:dependencies"
%pom_xpath_remove "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-enforcer-plugin']/pom:executions/pom:execution[pom:id='enforce-java-signatures']"
# Disable unneeded/unused modules
%pom_disable_module test
%pom_disable_module proxy
%pom_disable_module maven-plugin
%pom_disable_module docs
%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
%pom_remove_plugin :maven-site-plugin
%pom_remove_plugin :maven-failsafe-plugin
%pom_remove_plugin :apache-rat-plugin
%pom_remove_plugin :sortpom-maven-plugin
%pom_remove_plugin :mavanagaiata
%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
%mvn_package ":%{name}-{project,core,fate,trace,start}" core
%mvn_package ":%{name}-examples-simple" examples
%mvn_package ":%{name}-gc" gc
%mvn_package ":%{name}-master" master
%mvn_package ":%{name}-monitor" monitor
%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
%build
# - Skipping javadocs, because it's not useful or required
# - ITs are skipped because they time out frequently and take too many
# resources to run reliably. Failures do not reliably indicate meaningful
# issues.
# - Tests are skipped because of spurious failures of surefire plugin in the
# koji builders
%mvn_build -j -- -Pthrift -DskipTests -DskipITs
%install
%mvn_install
# create symlink for system-provided web assets to be added to classpath
install -d -m 755 %{buildroot}%{_datadir}/%{name}/lib/web
rm -f %{buildroot}%{_datadir}/%{name}/lib/web/flot
ln -s %{_usr}/lib/node_modules/flot %{buildroot}%{_datadir}/%{name}/lib/web/flot
# native libs
install -d -m 755 %{buildroot}%{_libdir}/%{name}
install -d -m 755 %{buildroot}%{_var}/cache/%{name}
install -p -m 755 server/native/target/%{name}-native-%{version}/%{name}-native-%{version}/lib%{name}.so %{buildroot}%{_libdir}/%{name}
# generate default config for Fedora from upstream examples
install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}
install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}/lib
install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}/lib/ext
assemble/bin/bootstrap_config.sh -o -d %{buildroot}%{_sysconfdir}/%{name} -s 3GB -n -v 2
for x in gc masters monitor slaves tracers %{name}-env.sh generic_logger.xml generic_logger.properties monitor_logger.xml monitor_logger.properties %{name}.policy.example; do rm -f %{buildroot}%{_sysconfdir}/%{name}/$x; done
cp %{buildroot}%{_sysconfdir}/%{name}/log4j.properties %{buildroot}%{_sysconfdir}/%{name}/generic_logger.properties
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:jackson/jackson-core-asl:jackson/jackson-mapper-asl:jackson-annotations:jackson-core:jackson-databind: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
sed -i -e 's/^\s*\.\s\s*\/etc\/java\/'%{name}'\.conf/& "\$1"/' %{buildroot}%{_bindir}/%{name}
sed -i -e 's/^\s*\.\s\s*\$HOME\/\.'%{name}'rc$/& "\$1"/' %{buildroot}%{_bindir}/%{name}
# options may have spaces in them, so replace run with an exec that properly
# parses arguments as arrays.
sed -i -e '/^run .*$/d' %{buildroot}%{_bindir}/%{name}
sed -i -e '/^set_flags .*$/d' %{buildroot}%{_bindir}/%{name}
sed -i -e '/^set_options .*$/d' %{buildroot}%{_bindir}/%{name}
cat <<EOF >>%{buildroot}%{_bindir}/%{name}
CLASSPATH="%{_sysconfdir}/%{name}:%{_datadir}/%{name}/lib/:\${CLASSPATH}"
set_javacmd
if [ -n "\${VERBOSE}" ]; then
echo "Java virtual machine used: \${JAVACMD}"
echo "classpath used: \${CLASSPATH}"
echo "main class used: \${MAIN_CLASS}"
echo "flags used: \${FLAGS[*]}"
echo "options used: \${ACCUMULO_OPTS[*]}"
echo "arguments used: \${*}"
fi
export CLASSPATH
exec "\${JAVACMD}" "\${FLAGS[@]}" "\${ACCUMULO_OPTS[@]}" "\${MAIN_CLASS}" "\${@}"
EOF
# scripts for services/utilities
for service in master tserver shell init admin gc tracer classpath version rfile-info login-info zookeeper create-token info jar; do
cat <<EOF >"%{name}-$service"
#!/usr/bin/bash
echo "%{name}-$service script is deprecated. Use '%{name} $service' instead." 1>&2
%{_bindir}/%{name} $service "\$@"
EOF
install -p -m 755 %{name}-$service %{buildroot}%{_bindir}
done
# systemd services
install -d -m 755 %{buildroot}%{_unitdir}
install -p -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}-master.service
install -p -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}-tserver.service
install -p -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}-gc.service
install -p -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/%{name}-tracer.service
install -p -m 644 %{SOURCE5} %{buildroot}%{_unitdir}/%{name}-monitor.service
# java configuration file for Fedora
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
%dir %{_javadir}/%{name}
%dir %{_mavenpomdir}/%{name}
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/lib
%{_bindir}/%{name}
%{_bindir}/%{name}-shell
%{_bindir}/%{name}-classpath
%{_bindir}/%{name}-version
%{_bindir}/%{name}-rfile-info
%{_bindir}/%{name}-login-info
%{_bindir}/%{name}-zookeeper
%{_bindir}/%{name}-create-token
%{_bindir}/%{name}-info
%{_bindir}/%{name}-jar
%attr(0750, %{name}, -) %dir %{_var}/cache/%{name}
%attr(0755, %{name}, -) %dir %{_sysconfdir}/%{name}
%attr(0755, %{name}, -) %dir %{_sysconfdir}/%{name}/lib
%attr(0755, %{name}, -) %dir %{_sysconfdir}/%{name}/lib/ext
%attr(0755, %{name}, -) %config(noreplace) %{_javaconfdir}/%{name}.conf
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-metrics.xml
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-site.xml
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/auditLog.xml
%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
%{_bindir}/%{name}-admin
%files master -f .mfiles-master
%{_bindir}/%{name}-master
%{_unitdir}/%{name}-master.service
%files tserver -f .mfiles-tserver
%dir %{_jnidir}/%{name}
%{_bindir}/%{name}-tserver
%{_unitdir}/%{name}-tserver.service
%files gc -f .mfiles-gc
%{_bindir}/%{name}-gc
%{_unitdir}/%{name}-gc.service
%files monitor -f .mfiles-monitor
%dir %{_datadir}/%{name}/lib/web
%{_datadir}/%{name}/lib/web/flot
%{_unitdir}/%{name}-monitor.service
%files tracer -f .mfiles-tracer
%{_bindir}/%{name}-tracer
%{_unitdir}/%{name}-tracer.service
%files examples -f .mfiles-examples
%files shell -f .mfiles-shell
%files native
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/lib%{name}.so
%preun master
%systemd_preun %{name}-master.service
%preun tserver
%systemd_preun %{name}-tserver.service
%preun gc
%systemd_preun %{name}-gc.service
%preun tracer
%systemd_preun %{name}-tracer.service
%preun monitor
%systemd_preun %{name}-monitor.service
%postun master
%systemd_postun_with_restart %{name}-master.service
%postun tserver
%systemd_postun_with_restart %{name}-tserver.service
%postun gc
%systemd_postun_with_restart %{name}-gc.service
%postun tracer
%systemd_postun_with_restart %{name}-tracer.service
%postun monitor
%systemd_postun_with_restart %{name}-monitor.service
%pre core
getent group %{name} >/dev/null || /usr/sbin/groupadd -r %{name}
getent passwd %{name} >/dev/null || /usr/sbin/useradd --comment "%{longproj}" --shell /sbin/nologin -M -r -g %{name} --home %{_var}/cache/%{name} %{name}
%post master
%systemd_post %{name}-master.service
%post tserver
%systemd_post %{name}-tserver.service
%post gc
%systemd_post %{name}-gc.service
%post tracer
%systemd_post %{name}-tracer.service
%post monitor
%systemd_post %{name}-monitor.service
%changelog
* Fri Jan 26 2018 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.8.1-9
- Remove dependency on old systemd-units, now in systemd
* Mon Jan 15 2018 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.8.1-8
- Fix FTBFS by disabling surefire plugin
* Mon Oct 30 2017 Mike Miller <mmiller@apache.org> - 1.8.1-7
- Update Jackson jar classpath locations
* Thu Aug 03 2017 Mike Miller <mmiller@apache.org> - 1.8.1-6
- Specified maven and apache build dependencies
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Thu Apr 13 2017 Mike Miller <mmiller@apache.org> - 1.8.1-3
- Added jackson-databind to classpath
* Mon Mar 27 2017 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.8.1-2
- Clean up old patches and improve thrift 0.10.0 patch
* Wed Mar 15 2017 Mike Miller <mmiller@apache.org> - 1.8.1-1
- Update to 1.8.1
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.6-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Dec 06 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-13
- Fix missing protobuf-java and hadoop config classpath bug, and systemd exit
code problems
* Mon Dec 05 2016 Mike Miller <milleruntime@fedoraproject.org> - 1.6.6-12
- Another fix for Shell erroneously reading accumulo-site.xml
* Fri Dec 02 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-11
- Vastly simplify out-of-box configuration and fix missing avro jar
* Fri Dec 02 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-10
- Add google-gson to classpath for monitor REST service
* Fri Dec 02 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-9
- Include Monitor (bz#1132725)
* Thu Nov 03 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-8
- Re-enable VFS 2.1 HDFS Provider (bz#1387110)
* Wed Nov 02 2016 Mike Miller <mmiller@apache.org> - 1.6.6-7
- Fix for Shell erroneously reading accumulo-site.xml
* Fri Oct 28 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-6
- fix classpath (bz#1389325) and log to console
* Thu Oct 20 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-5
- Use commons-vfs 2.1 patch from upstream for f25+
* Thu Oct 20 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-4
- Fix whitespace in native patch for fuzz=0 opt in f25+
* Thu Oct 20 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-3
- Remove animal sniffer enforcer rule
* Thu Oct 20 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-2
- Remove modernizer plugin
* Wed Oct 19 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-1
- Update to 1.6.6
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Nov 12 2015 Christopher Tubbs <ctubbsii-fedora@apache.org> - 1.6.4-4
- Use autosetup macro to apply patches
* Thu Nov 05 2015 Christopher Tubbs <ctubbsii-fedora@apache.org> - 1.6.4-3
- Remove unnecessary checkstyle plugin
* Thu Nov 05 2015 Christopher Tubbs <ctubbsii-fedora@apache.org> - 1.6.4-2
- Fix patches for 1.6.4
* Thu Nov 05 2015 Christopher Tubbs <ctubbsii-fedora@apache.org> - 1.6.4-1
- Update to 1.6.4
* Thu Jun 25 2015 Christopher Tubbs <ctubbsii@apache> - 1.6.2-1
- Update to 1.6.2 bugfix release
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon May 04 2015 Kalev Lember <kalevlember@gmail.com> - 1.6.1-4
- Rebuilt for GCC 5 C++11 ABI change
* Wed Apr 22 2015 Peter Robinson <pbrobinson@fedoraproject.org> 1.6.1-3
- ARMv7 now has hadoop
* Tue Dec 16 2014 Christopher Tubbs <ctubbsii@apache> - 1.6.1-2
- Remove mortbay Jetty deps
* Tue Dec 16 2014 Christopher Tubbs <ctubbsii@apache> - 1.6.1-1
- Update to 1.6.1
* Sun Sep 7 2014 Ville Skyttä <ville.skytta@iki.fi> - 1.6.0-7
- Fix -debuginfo
* Thu Aug 21 2014 Christopher Tubbs <ctubbsii@apache> - 1.6.0-6
- Skip javadoc generation in mvn_build when not used
* Wed Aug 20 2014 Christopher Tubbs <ctubbsii@apache> - 1.6.0-5
- Use jpackage_script macro, standard java env, and working example config
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Wed Jul 16 2014 Christopher Tubbs <ctubbsii@apache> - 1.6.0-3
- Fix broken service launch scripts
- Add conditional for lib directory to build for f20
* Wed Jul 9 2014 Christopher Tubbs <ctubbsii@apache> - 1.6.0-2
- Add conditional for pom directory to build for f20
- Remove fno-strict-aliasing flag based on upstream ACCUMULO-2762
* Wed Apr 30 2014 Christopher Tubbs <ctubbsii@apache> - 1.6.0-1
- Initial packaging

View file

@ -1 +0,0 @@
Orphaned for 6+ weeks

89
default-conf.patch Normal file
View file

@ -0,0 +1,89 @@
diff --git a/assemble/conf/templates/accumulo-metrics.xml b/assemble/conf/templates/accumulo-metrics.xml
index ec54994..04edb84 100644
--- a/assemble/conf/templates/accumulo-metrics.xml
+++ b/assemble/conf/templates/accumulo-metrics.xml
@@ -23,7 +23,8 @@
Metrics log directory
-->
<logging>
- <dir>${ACCUMULO_HOME}/metrics</dir>
+ <!-- This is just an example location; select something appropriate for you -->
+ <dir>/var/log/accumulo/metrics</dir>
</logging>
<!--
Enable/Disable metrics accumulation on the different servers and their components
diff --git a/assemble/conf/templates/accumulo-site.xml b/assemble/conf/templates/accumulo-site.xml
index 7fe3fe4..a9e29e1 100644
--- a/assemble/conf/templates/accumulo-site.xml
+++ b/assemble/conf/templates/accumulo-site.xml
@@ -23,7 +23,7 @@
<property>
<name>instance.volumes</name>
- <value></value>
+ <value>file:///tmp/accumulo</value>
<description>comma separated list of URIs for volumes. example: hdfs://localhost:9000/accumulo</description>
</property>
@@ -123,54 +123,13 @@
${mvnProjBaseDir}
<property>
<name>general.classpaths</name>
-
- <value>
- <!-- Accumulo requirements -->
- $ACCUMULO_HOME/lib/accumulo-server.jar,
- $ACCUMULO_HOME/lib/accumulo-core.jar,
- $ACCUMULO_HOME/lib/accumulo-start.jar,
- $ACCUMULO_HOME/lib/accumulo-fate.jar,
- $ACCUMULO_HOME/lib/accumulo-proxy.jar,
- $ACCUMULO_HOME/lib/[^.].*.jar,
- <!-- ZooKeeper requirements -->
- $ZOOKEEPER_HOME/zookeeper[^.].*.jar,
- <!-- Common Hadoop requirements -->
- $HADOOP_CONF_DIR,
- <!-- Hadoop 2 requirements -->
- $HADOOP_PREFIX/share/hadoop/common/[^.].*.jar,
- $HADOOP_PREFIX/share/hadoop/common/lib/(?!slf4j)[^.].*.jar,
- $HADOOP_PREFIX/share/hadoop/hdfs/[^.].*.jar,
- $HADOOP_PREFIX/share/hadoop/mapreduce/[^.].*.jar,
- $HADOOP_PREFIX/share/hadoop/yarn/[^.].*.jar,
- $HADOOP_PREFIX/share/hadoop/yarn/lib/jersey.*.jar,
- <!-- End Hadoop 2 requirements -->
- <!-- HDP 2.0 requirements -->
- /usr/lib/hadoop/[^.].*.jar,
- /usr/lib/hadoop/lib/[^.].*.jar,
- /usr/lib/hadoop-hdfs/[^.].*.jar,
- /usr/lib/hadoop-mapreduce/[^.].*.jar,
- /usr/lib/hadoop-yarn/[^.].*.jar,
- /usr/lib/hadoop-yarn/lib/jersey.*.jar,
- <!-- End HDP 2.0 requirements -->
- <!-- HDP 2.2 requirements -->
- /usr/hdp/current/hadoop-client/[^.].*.jar,
- /usr/hdp/current/hadoop-client/lib/(?!slf4j)[^.].*.jar,
- /usr/hdp/current/hadoop-hdfs-client/[^.].*.jar,
- /usr/hdp/current/hadoop-mapreduce-client/[^.].*.jar,
- /usr/hdp/current/hadoop-yarn-client/[^.].*.jar,
- /usr/hdp/current/hadoop-yarn-client/lib/jersey.*.jar,
- /usr/hdp/current/hive-client/lib/hive-accumulo-handler.jar
- <!-- End HDP 2.2 requirements -->
- <!-- IOP 4.1 requirements -->
- /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
- <!-- End IOP 4.1 requirements -->
- </value>
+ <value>/etc/accumulo/lib,/etc/hadoop</value>
<description>Classpaths that accumulo checks for updates and class files.</description>
</property>
+ <property>
+ <name>general.dynamic.classpaths</name>
+ <value>/etc/accumulo/lib/ext</value>
+ <description>Classpaths that accumulo checks for updates and class files to dynamically load.</description>
+ </property>
+
</configuration>

40
disabled-tests.patch Normal file
View file

@ -0,0 +1,40 @@
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/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;
import org.junit.BeforeClass;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
@@ -60,6 +61,7 @@ import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
@PrepareForTest({Shell.class, ZooUtil.class, ConfigSanityCheck.class})
+@Ignore // test skipped due to https://bugzilla.redhat.com/show_bug.cgi?id=1096992
public class ShellSetInstanceTest {
public static class TestOutputStream extends OutputStream {
StringBuilder sb = new StringBuilder();
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/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;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
public class HistoryCommandTest {
@@ -76,6 +77,7 @@ public class HistoryCommandTest {
}
@Test
+ @Ignore // this test doesn't work in rpmbuild environment for some yet unknown reason
public void testEventExpansion() throws IOException {
// If we use an unsupported terminal, then history expansion doesn't work because JLine can't do magic buffer manipulations.
// This has been observed to be the case on certain versions of Eclipse. However, mvn is usually fine.

12
flot8.patch Normal file
View file

@ -0,0 +1,12 @@
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/BasicServlet.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/BasicServlet.java
index 75d5436..9660340 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/BasicServlet.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/BasicServlet.java
@@ -156,6 +156,7 @@ abstract public class BasicServlet extends HttpServlet {
sb.append("<!--[if lte IE 8]><script language=\"javascript\" type=\"text/javascript\" src=\"/web/flot/excanvas.min.js\"></script><![endif]-->\n");
sb.append("<script language=\"javascript\" type=\"text/javascript\" src=\"/web/flot/jquery.js\"></script>\n");
sb.append("<script language=\"javascript\" type=\"text/javascript\" src=\"/web/flot/jquery.flot.js\"></script>\n");
+ sb.append("<script language=\"javascript\" type=\"text/javascript\" src=\"/web/flot/jquery.flot.time.js\"></script>\n");
sb.append("</head>\n");

52
guava.patch Normal file
View file

@ -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<Entry<Key,Value>> iterator = s.iterator();
sw.start();

View file

@ -0,0 +1,53 @@
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/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 {
}
public void printInfo() throws IOException {
- reader.print("\n" + SHELL_DESCRIPTION + "\n" + "- \n" + "- version: " + Constants.VERSION + "\n" + "- instance name: "
+ writer.print("\n" + SHELL_DESCRIPTION + "\n" + "- \n" + "- version: " + Constants.VERSION + "\n" + "- instance name: "
+ connector.getInstance().getInstanceName() + "\n" + "- instance id: " + connector.getInstance().getInstanceID() + "\n" + "- \n"
+ "- type 'help' for a list of available commands\n" + "- \n");
+ writer.flush();
reader.flush();
}
@@ -676,7 +677,9 @@ public class Shell extends ShellOptions {
}
}
sb.append("-\n");
- reader.print(sb.toString());
+ writer.print(sb.toString());
+ writer.flush();
+ reader.flush();
}
public String getDefaultPrompt() {

26
native-code.patch Normal file
View file

@ -0,0 +1,26 @@
diff --git a/server/native/src/main/resources/Makefile b/server/native/src/main/resources/Makefile
index 9ffeefe..102c253 100644
--- a/server/native/src/main/resources/Makefile
+++ b/server/native/src/main/resources/Makefile
@@ -30,7 +30,7 @@ ifeq ($(shell uname),Linux)
JAVA_HOME=$(shell dirname "$$(dirname "$$(readlink -e "$$(which javah)")")")
endif
NATIVE_LIB := libaccumulo.so
- CXXFLAGS=-g -fPIC -shared -O3 -Wall -I'$(JAVA_HOME)'/include -I'$(JAVA_HOME)'/include/linux -Ijavah $(USERFLAGS)
+ CXXFLAGS=$(RPM_OPT_FLAGS) $(RPM_LD_FLAGS) -fPIC -shared -I'$(JAVA_HOME)'/include -I'$(JAVA_HOME)'/include/linux -Ijavah $(USERFLAGS)
endif
ifeq ($(shell uname),Darwin)
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/NativeMap.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/NativeMap.java
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
@@ -69,7 +69,7 @@ public class NativeMap implements Iterable<Map.Entry<Key,Value>> {
// Load native library
static {
// Check standard directories
- List<File> directories = new ArrayList<>(Arrays.asList(new File[] {new File("/usr/lib64"), new File("/usr/lib")}));
+ List<File> 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) {

1
sources Normal file
View file

@ -0,0 +1 @@
SHA512 (accumulo-1.8.1-src.tar.gz) = c6ed00bb668954e504a564c0fffc5d0aa876bce6df2b5419e7b431911cb8b9831640a6ac658f8ecca81d473395652683eb29a0ed1407ab0be0239697919cd9c2