This adds the ability to build CentOS packages from Fedora - scylla
already has it. Aside from that, this guarantees that the build will
work in any system. In particular, by default rpmbuild is not given
network access in some of the systems I tested, causing the build to
fail as it tries to contact the maven repo.
This file is just a copy of the one provided by Centos' mock, with
the option to allow rpmbuild network added.
Signed-off-by: Glauber Costa <glauber@scylladb.com>
Since we switched to pbuilder and supported cross build, we no longer able to
use $DISTRIBUTION and $RELEASE in the script.
Use $TARGET instead.
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <1500540534-27951-1-git-send-email-syuu@scylladb.com>
This will add Debian 9(stretch) support, and also non-official support of
Debian testing/unstable and Ubuntu non-LTS versions.
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <1500501275-8419-1-git-send-email-syuu@scylladb.com>
We want to allocate pbuilder chroot image and build directories for each
scylla repository to make sure build environment is always clean.
So append 'scylla-jmx' prefix for them.
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <1497902645-29487-2-git-send-email-syuu@scylladb.com>
This line copied from scylla-tools-java, and conf/hotspot_compiler does not
exist on scylla-jmx, so drop the entry.
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <1497902645-29487-1-git-send-email-syuu@scylladb.com>
Since this script allows to run in non-root mode, sudo is required for yum.
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <1497891211-26574-2-git-send-email-syuu@scylladb.com>
Since development version specified as "666.development", this code won't called anymore, so drop it.
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <1497891211-26574-1-git-send-email-syuu@scylladb.com>
These lines comes from scylla-tools-java's build_deb.sh, but does nothing.
So drop them.
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <20170616035130.16580-1-syuu@scylladb.com>
Enable pbuilder for Ubuntu/Debian to prevent build enviroment dependent issues.
Also support cross building by pbuilder.
(cross-building from Fedora 25 and Ubuntu 16.04 are tested)
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <20170615100230.18239-1-syuu@scylladb.com>
Refs scylladb/scylla#2340 (trunk/1.7)
Must proxy "register" call, otherwise unregistration of mbeans
will instead try to double-register. Code for this somehow fell away.
Message-Id: <1494417610-9720-1-git-send-email-calle@scylladb.com>
Enable mock for CentOS/RHEL, also support cross building by mock.
See scylladb/scylla#630
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <20170522081759.8574-1-syuu@scylladb.com>
nodetool from scylla-tools-java still uses it. Currently `nodetool compact` fails like this:
error: forceKeyspaceCompaction(java.lang.String, [Ljava.lang.String;)
-- StackTrace --
java.lang.NoSuchMethodException: forceKeyspaceCompaction(java.lang.String, [Ljava.lang.String;)
Fixesscylladb/scylla#2261
Probably broken by 3e146845b4
Message-Id: <1491470483-6147-1-git-send-email-tgrabiec@scylladb.com>
This patch fixes two issues with the histogram implementation:
* Need to all update before trying to read values from the histogram.
* The histogram values return from the API in microseconds and not nano.
See Scylladb/scylla#2155
Signed-off-by: Amnon Heiman <amnon@scylladb.com>
Message-Id: <20170315130725.22261-1-amnon@scylladb.com>
When parsing the snapshot disk sizes, it should be long and not int.
See scylladb/scylla#2104
Signed-off-by: Amnon Heiman <amnon@scylladb.com>
Message-Id: <1487760019-1354-1-git-send-email-amnon@scylladb.com>
openjdk-8-jre-headless/jessie-backports requires
ca-certificates-java/jessie-backports, but apt doesn't override
ca-certificates-java/jessie by default.
So install it before installing openjdk-8.
Fixes#40
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <1487269613-21196-1-git-send-email-syuu@scylladb.com>
Since git-archive-all is python script, we need to install python if it's
unavailable.
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <1487054303-11556-1-git-send-email-syuu@scylladb.com>
Now we supported both Ubuntu and Debian on dist/ubuntu, and Ubuntu is one of
Debian variant, so dist/debian is better naming.
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <1486547332-3247-1-git-send-email-syuu@scylladb.com>
Actually removes a bunch of code to manage the JMX connector,
since as of jdk8u102, the standard jmx connector answers to
property setting bind address -> can restrict access.
Note that the RMI connector will now (as is jdk normal)
_bind_ to 0.0.0.0, but it will not answer non-local requests
if "remote" is not enabled. This is the default jdk behaviour.
In any case, we rely on setting the appropriate properties
instead, and also allow pass-through of -D flags to java,
which in turn means those who wish can turn on both auth
and ssl, set key/trust stores etc etc.
Message-Id: <1485357178-20714-1-git-send-email-calle@scylladb.com>
The build requires Java 8 since commit
9c2d6cec51 ("Remove yammer/codehale
dependencies and augumentations").
Message-Id: <1485437777-23626-1-git-send-email-penberg@scylladb.com>
Ubuntu Packaging Guide says if there's no upstream package (means it's not
ported from Debian), revision should be "0ubuntu1", not "ubuntu1" which is we
currently using.
On Debian, Debian Policy Manual says it's conventional to restart revision from 1 when upstream version increased, so we should specify it to "1".
To do it in single script, we will generate the revision on building time.
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <1483499161-22557-1-git-send-email-syuu@scylladb.com>
Since we moved to Java 8, we need to provide additional repository for
distributions which doesn't have Java 8 on default repository.
Fixes#37
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <1483377878-17987-1-git-send-email-syuu@scylladb.com>
"This series change getTokenToEndpointMap implementation, so that the result
will be sorted by the API.
The API returns the tokens sorted according to their type. The APIClient helper
method was change to keep the original order and getTokenToEndpointMap was
change so it will return the map as is, without re-sorting it."
It normally won't be problem because scylla-jmx usually build after scylla building.
However some tools we required for build_deb.sh doesn't installed on minimal installation, so we should check and install it.
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <1483004036-2824-1-git-send-email-syuu@scylladb.com>
build_deb.sh fails to run because git-archive-all doesn't have execution bit,
to prevent build error we need to add the bit.
Signed-off-by: Takuya ASADA <syuu@scylladb.com>
Message-Id: <1483002191-30263-1-git-send-email-syuu@scylladb.com>
This patch change the sorting of tokensEndpointMap so it will use the
order returned by the API.
See Scylladb/scylla#1945
Signed-off-by: Amnon Heiman <amnon@scylladb.com>
The getMapStrValue return a map from the API. This change the
implementation to use linkedHashMap so the map will be sorted according
to the API order.
Signed-off-by: Amnon Heiman <amnon@scylladb.com>
The nodetool looks for column family with by their name. When using
JConsole, it search for all MBeans.
This patch adds a check for column family and stream with null query
(wild card).
This way the column family will appear in the JConsole.
Fixes#35
Signed-off-by: Amnon Heiman <amnon@scylladb.com>
Message-Id: <1479227289-15031-1-git-send-email-amnon@scylladb.com>
"This is a pretty hefty change set. Base goal is to update JMX impl to
Cassandra 3.x compatibility. While the base MBeans are easy enough, the
metrics parts of the stew are trickier, since Cassandra 3 changed a
number of things around. To that end, and to clean up this code
somewhat, this basically changes all about metrics management in
scylla-jmx. Some background:
Cassandra uses codehaul metrics for actual measurement. Now,
obviously, in this proxy project we need not measure anything, since
actual happenings are in the Scylla process. Previous version of the
code however still utilized a (not-so-pretty reflection-hacked-into)
version of codehaul metrics because they also provided the system for
exposing the data through JMX. I.e. we added a bunch of stuff we
really did not need, to avoid dealing with some of that we did.
In Cassandra 3, v3 of codehaul is used, which the Cassandra devs
apparently did not like the JMX integration of. Thus they decided to
deal with JMX exposure themselves. which makes sense, because they
want to control the syntax/structure. But given this, we no longer
have any reason to utilize codehaul, since it does nothing for us.
These change sets instead adapts the cassandra JMX bindings somewhat,
and adds a wholly own structure of metric point binding, using
java.util.function interfaces to provide flexible and late-ish binding
to actual data query objects. End result is a much slimmer set of
objects/functions to bind metrics (which of course are just queries to
Scylla API).
Also, MX4J has been dropped, since it is at best broken. Instead, we
use simple wrapping of the system management server object to deal with
dynamically populating transients objects like column families.
Removed most statefulness (beyond binding) in MBean impls, all
"bookeeping" of sub-objects and bind status now uses the actual mbean
server. I.e. remove race conditions + lighter bookkeep.
Since this is Java, and everything is tied together in a ball of yarn,
most of the changes here are not self-contained. I.e. some of these
will, applied individually, break the build. They are still kept as
individual patches though, mainly for readability."
This series fill some missing functionality by using already existing
API.
The idea is to use existing code in places that it was not used.
Also, in places were a stub value is in place, the methods returns a
stab value.
Message-Id: <1478619479-10023-1-git-send-email-amnon@scylladb.com>
Implement some deprecated metrics in CommitLog and CompactionManager,
that can easily just be a wrapper to the non-deprecated metrics API.
Message-Id: <1478591291-30344-1-git-send-email-penberg@scylladb.com>