tag:blogger.com,1999:blog-82135166134623513042024-03-06T10:04:37.646+08:00Information Technology BlogsWe learn from community all over the world and we would like to contribute back. We hope to build a knowledge society and share interest on information technology topics through this site.Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.comBlogger224125tag:blogger.com,1999:blog-8213516613462351304.post-9250140757053462782023-05-20T12:58:00.003+08:002023-05-20T12:58:57.108+08:00Now I know why zoom feature is available in operating system for.<p>I use to think why would an O/S feature is created as it sudden zoom ridiculous 10-100x of the current resolution. </p><p>But as one age, it FINALLY make sense, all comes around! Let's give an example. Given the current view at current resolution of the following picture</p><p>Given the following webshot, what's the difference can you identify?</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGOfMcnI_rPdePJjRDO7EjQosjlx7wUmw8Mj7N0lWkg5nMzCuHTk_hNFjVaFytGPbcC__JDGXq4ngB4S0yZ2S3uYMopF18vZYz7MXA9bJ30LFMLV6M8lvkrf5EFrYyzs3h5BCBbV3-P2YEzfpQTWiiDI-wzApcUaiYJO7lbHyRnXBq3xm-0SRLrv8M6Q/s467/Screenshot%20from%202023-05-20%2012-51-39.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="442" data-original-width="467" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGOfMcnI_rPdePJjRDO7EjQosjlx7wUmw8Mj7N0lWkg5nMzCuHTk_hNFjVaFytGPbcC__JDGXq4ngB4S0yZ2S3uYMopF18vZYz7MXA9bJ30LFMLV6M8lvkrf5EFrYyzs3h5BCBbV3-P2YEzfpQTWiiDI-wzApcUaiYJO7lbHyRnXBq3xm-0SRLrv8M6Q/s320/Screenshot%20from%202023-05-20%2012-51-39.png" width="320" /></a></div><div><br /></div>Sure, some with very good eye can spot but it would also take sometime to identify. But if you can zoom in, wouldn't that be nice?! In linux , try super + alt + 8, yes the 8 is not on the numpad. Now it should be clearly shown what is the difference.<div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhck8GRiyC_ejpnA-3Io3-FhyGZBzBebBnRqB5iNyP82MwwDvR8tMyBgeGtx5B9kOmfynfK2S9cGVE-HGU8zS-Tb_0wnaM51JR2l_52Q4t8ItbXhILVVwqK3REZxPVw1JPFy-68ifGjZvb37JyKZz_2vPpsNpCIWaa5LrCHz6VCnyig9Gcg38UP4FKepQ/s1920/Screenshot%20from%202023-05-20%2012-51-32.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhck8GRiyC_ejpnA-3Io3-FhyGZBzBebBnRqB5iNyP82MwwDvR8tMyBgeGtx5B9kOmfynfK2S9cGVE-HGU8zS-Tb_0wnaM51JR2l_52Q4t8ItbXhILVVwqK3REZxPVw1JPFy-68ifGjZvb37JyKZz_2vPpsNpCIWaa5LrCHz6VCnyig9Gcg38UP4FKepQ/w514-h198/Screenshot%20from%202023-05-20%2012-51-32.png" width="514" /></a></div><br /><div>The display might be too small, try open the image in a new window tab. It should be clearly seen that the vertical line is dashed whilst the horizontal line is dotted. Well that's the difference!</div><div><br /></div><div>It is like the zoom feature allow one to inspect the DNA.. well, computer DNA.. :) <br /><div><p><br /></p></div></div>Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-91265509080684050562023-03-07T14:39:00.001+08:002023-03-07T14:39:27.772+08:00how to setup mariadb galera cluster in docker container<p> 1. create network (one time)</p><p> docker network create --subnet=172.18.0.0/16 mynet123</p><p><br /></p><p>2. create image that can start service in container (one time)</p><p> mkdir systemd</p><p> cd systemd</p><p> vim Dockerfile</p><p> FROM almalinux</p><p> ENV container docker</p><p><br /></p><p> RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in ; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done);</p><p><br /></p><p> RUN rm -rf /lib/systemd/system/multi-user.target.wants/ \</p><p> && rm -rf /etc/systemd/system/.wants/ \</p><p> && rm -rf /lib/systemd/system/local-fs.target.wants/ \</p><p> && rm -f /lib/systemd/system/sockets.target.wants/udev \</p><p> && rm -f /lib/systemd/system/sockets.target.wants/initctl \</p><p> && rm -rf /lib/systemd/system/basic.target.wants/ \</p><p> && rm -f /lib/systemd/system/anaconda.target.wants/*</p><p><br /></p><p> VOLUME [ “/sys/fs/cgroup” ]</p><p> CMD ["/usr/sbin/init"]</p><p><br /></p><p>3. build image (one time)</p><p> docker build -t almalinux-md .</p><p><br /></p><p>4. start the container in the background</p><p> docker run -v /tmp/node1/:/var/lib/mysql --detach --rm -it --privileged --net mynet123 --ip 172.18.0.11 --name node1 almalinux-md </p><p> docker run -v /tmp/node2/:/var/lib/mysql --detach --rm -it --privileged --net mynet123 --ip 172.18.0.12 --name node2 almalinux-md</p><p> docker run -v /tmp/node3/:/var/lib/mysql --detach --rm -it --privileged --net mynet123 --ip 172.18.0.13 --name node3 almalinux-md </p><p><br /></p><p>5. attach it and so can install mariadb and gelera, etc</p><p> docker exec -it node1 bash</p><p> docker exec -it node2 bash</p><p> docker exec -it node3 bash</p><p><br /></p><p>6. install in all 3 nodes</p><p> dnf install -y mariadb-server.x86_64 mariadb.x86_64 rsync python3-policycoreutils vim nc telnet epel-release.noarch mariadb-server-galera.x86_64</p><p><br /></p><p>7. on first node</p><p> systemctl start mariadb</p><p> systemctl status mariadb</p><p> [root@6c3d7f5bc394 /]# mysql -uroot</p><p> MariaDB [(none)]> set password = password("password");</p><p> quit;</p><p> systemctl stop mariadb</p><p> </p><p>8. from step 5. wsrep_node_address and wsrep_node_name update to its corresponding name </p><p><br /></p><p> [root@cfeee129fe92 /]# cat /etc/my.cnf.d/galera.cnf</p><p> [mysqld]</p><p> binlog_format=ROW</p><p> default-storage-engine=innodb</p><p> innodb_autoinc_lock_mode=2</p><p> bind-address=0.0.0.0</p><p><br /></p><p> # Galera Provider Configuration</p><p> wsrep_on=ON</p><p> wsrep_provider=/usr/lib64/galera/libgalera_smm.so</p><p><br /></p><p> # Galera Cluster Configuration</p><p> wsrep_cluster_name="ot_mariadb_cluster"</p><p> wsrep_cluster_address="gcomm://172.18.0.11,172.18.0.12,172.18.0.13"</p><p><br /></p><p> # Galera Synchronization Configuration</p><p> wsrep_sst_method=rsync</p><p><br /></p><p> # Galera Node Configuration</p><p> wsrep_node_address="172.18.0.13"</p><p> wsrep_node_name="node3"</p><p> [root@cfeee129fe92 /]# </p><p><br /></p><p>9. on first node, start the cluster</p><p> galera_new_cluster</p><p> </p><p>10. check on the first node,</p><p> mysql -u root -ppassword -e "SHOW STATUS LIKE 'wsrep_cluster_size'" </p><p> </p><p>11. bring up the remaining nodes one by one</p><p> systemctl start mariadb</p><p> mysql -u root -ppassword -e "SHOW STATUS LIKE 'wsrep_cluster_size'" </p><p><br /></p><p>12. ready to write/read</p><p>mysql -u root -ppassword -e 'CREATE DATABASE playground;</p><p>CREATE TABLE playground.equipment ( id INT NOT NULL AUTO_INCREMENT, type VARCHAR(50), quant INT, color VARCHAR(25), PRIMARY KEY(id));</p><p>INSERT INTO playground.equipment (type, quant, color) VALUES ("slide", 2, "blue");'</p><p><br /></p><p>mysql -u root -ppassword -e 'SELECT * FROM playground.equipment;'</p>Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-87365748839885672962022-02-24T23:07:00.003+08:002022-10-20T15:28:14.367+08:00Best place I think docker container is for<p> docker container has been with us for many years. For software engineer which deal with legacy application, it can be intimidating to migrate to docker application. Because system stability, production investigation and quick fix and service stability surpasses every technology stack. At least that is for me, this cannot be compromise. </p><p><br /></p><p>So where is docker container is best for? Where do we start docker container for? For many people, if you google, they build the application into docker image and deploy. Sure, that can be done but for me, as a start, I think for learning purposes and best use cases. Here, I would like share my experience and best use cases.</p><p><br /></p><p><b>code compiling</b></p><p>Many of us do code compiling and this is especially true if you want to deploy a bunch of application, modify here and there, build the binary , get the final result and then move on. Installing software packages into container will not taint the host. Modify the configuration also need not worry about taint the host. What is even more merrier, you don't have to clean up after you done compiling. One can just delete the container and start over. Guaranteed reproducible end result. This is similar to chroot but container allow you to do further with different o/s.</p><p><br /></p><p><b>application on legacy database</b></p><p>sometime when we migrate development server to the latest o/s but however it break the legacy application or its dependency, example database. In such a case, docker can come to the rescue, you can install legacy database in the docker container whilst the application still can access the database without any puzzle or not expected result. This is even more true when you are busy and focus on upgrading the development server, you don't have the time to upgrade the application or its database. When you are done develop development server, you can then upgrade the database to another version inside docker. I think docker in this case is a really good fit.</p><p><br /></p><p><b>quick test for code</b></p><p>Many times when you write bash script, you want to quickly test if the script works fine. But you don't want to test run on your machine as it will change the underlying configuration/state. If you run a container, those code can be quickly test it and when you are done, you can exit the container and nothing harmful done to the host. In this case, you are totally sure your code is tested well and in the same time with less maintenance after tests.</p><p><br /></p><p>That's it I want to share my opinions and use cases for docker container. If I learn new way of using docker, I will update this document. I hope you will find it useful for your use cases.</p><p><br /></p><p><br /></p>Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-14527972592930425502021-06-25T16:10:00.001+08:002021-06-25T16:10:17.330+08:00How to cherry pick on a commit but only a few files from upstream patch<p>I forked a repository from upstream and there was a patch I like and I would like that patch goes into my forked repository. But at the same time, I would like to pick only a few changes, that is, not the whole commit and at the same time too, I need to make some minor modifications. So here goes how this is done.</p><p>Let's check where we are at now.</p><pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; overflow-wrap: normal; word-wrap: normal;"> jason@localhost:~/advanced-policy-firewall$ git branch
* master
rfxn_upstream
robertoberto-patch
support-ipv6
</code></pre>
<p>Get the commit id from roberto patch, cherry pick the whole commit but do not commit yet.. just stage at the current branch (which is master)</p><pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: #f0f0f0; border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; overflow-wrap: normal; word-wrap: normal;"> jason@localhost:~/advanced-policy-firewall$ git cherry-pick -n 0d1df6549820f9592aefb2353b77c52eadbe759f
Auto-merging files/vnet/vnetgen
CONFLICT (content): Merge conflict in files/vnet/vnetgen
error: could not apply 0d1df65... - fixed vnetgen for newer linux distros to prioritize ip over ipconfig
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
jason@localhost:~/advanced-policy-firewall$ git status .
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: README
new file: test/distros_examples/ifconfig_ubuntu_12
new file: test/distros_examples/ifconfig_ubuntu_20
new file: test/distros_examples/ip_addr_ubuntu_12
new file: test/distros_examples/ip_addr_ubuntu_20
new file: test/distros_examples/ip_link_ubuntu_12
new file: test/distros_examples/ip_link_ubuntu_20
Unmerged paths:
(use "git restore --staged <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: files/vnet/vnetgen
</code></pre>
<p>Let's get the diff of the stage file</p>
<pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: #f0f0f0; border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; overflow-wrap: normal; word-wrap: normal;"> jason@localhost:~/advanced-policy-firewall$ git diff --cached README
diff --git a/README b/README
index 07ad004..0adf39d 100644
--- a/README
+++ b/README
@@ -199,7 +199,7 @@ Fedora Core Any
Slackware 8.0+
Debian GNU/Linux 3.0+
Suse Linux 8.1+
-Unbuntu Any
+Ubuntu Any
TurboLinux Server 9+
TurboLinux Fuji (Desktop)
RedHat Linux 7.3,8,9
</code></pre>
<p>Unstage a file because I wanna make minor modification. After changes are make, add it back to the stage</p>
<pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: #f0f0f0; border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; overflow-wrap: normal; word-wrap: normal;"> $ git restore --staged test/distros_examples/ip_link_ubuntu_12
$ vim test/distros_examples/ip_link_ubuntu_12
$ git add test/distros_examples/ip_link_ubuntu_12
</code></pre>
<p>All good now, let's commit</p>
<pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: #f0f0f0; border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; overflow-wrap: normal; word-wrap: normal;"> $ git commit -m "cherry pick but only selected files from roberto patched"
[master 80830c9] cherry pick but only selected files from roberto patched
8 files changed, 330 insertions(+), 28 deletions(-)
create mode 100644 test/distros_examples/ifconfig_ubuntu_12
create mode 100644 test/distros_examples/ifconfig_ubuntu_20
create mode 100644 test/distros_examples/ip_addr_ubuntu_12
create mode 100644 test/distros_examples/ip_addr_ubuntu_20
create mode 100644 test/distros_examples/ip_link_ubuntu_12
create mode 100644 test/distros_examples/ip_link_ubuntu_20
$ git branch
* master
rfxn_upstream
robertoberto-patch
support-ipv6
</code></pre>
<p>and we push the changes to github</p>
<pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: #f0f0f0; border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; overflow-wrap: normal; word-wrap: normal;"> $ git push
Enumerating objects: 19, done.
Counting objects: 100% (19/19), done.
Delta compression using up to 16 threads
Compressing objects: 100% (13/13), done.
Writing objects: 100% (14/14), 3.68 KiB | 3.68 MiB/s, done.
Total 14 (delta 7), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (7/7), completed with 4 local objects.
To https://github.com/jasonwee/advanced-policy-firewall.git
f98e9bb..80830c9 master -> master
</code></pre>
<p>in case you want to see the final result, please visit this <a href="https://github.com/jasonwee/advanced-policy-firewall/commit/80830c9a1859679aeba6a0d6d4ac0461696ebf6f" target="_blank">github commit</a>.</p>Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-46739306683907631072021-06-21T00:00:00.001+08:002021-06-21T00:00:00.277+08:00Continuous Integration with GitHub Action<p>This is a contribution to the <a href="https://www.udacity.com/scholarships/suse-cloud-native-foundations-scholarship" target="_blank">SUSE Cloud Native Foundations Scholarship Program</a> which I received and some of the peers want a CI online demo. So here I will share on my knowledge and experience on continuous integration using a public repository and public runner. I will start with a sample project creation, GitHub project setup and end with GitHub action setup and runner. </p><p><br /></p><p><a href="https://en.wikipedia.org/wiki/Continuous_integration" target="_blank">What is CI?</a> </p><p style="text-align: center;">In software engineering, continuous integration (CI) is the practice of merging all developers' working copies to a shared mainline several times a day.[1]</p><p style="text-align: left;"><br /></p><p>So essentially, it is a routine where every developer has to go through after they made code changes. Example, syntax check, linting, code compiling, multiple tests, package building, perhaps also support different runtime versions and/or operating systems.</p><p>There are many CI software available, <a href="https://en.wikipedia.org/wiki/Comparison_of_continuous_integration_software" target="_blank">please choose the one which match your requirements</a>. I particularly like Jenkins a lot but Jenkins would require you to setup the runner on your machine. Since the objective of this blog is all public, hence, I picked GitHub action.</p><p>Let's begin with initial project setup. Reference if you want to know more.</p><p><a href="https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html">https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html</a></p><p><a href="https://docs.github.com/en/actions/guides/building-and-testing-java-with-maven">https://docs.github.com/en/actions/guides/building-and-testing-java-with-maven</a></p><p><br /></p><p>```</p><p>$ export JAVA_HOME=/usr/lib/jvm/jdk-11.0.5/</p><p>$ mvn --version</p><p>Apache Maven 3.6.3</p><p>Maven home: /usr/share/maven</p><p>Java version: 11.0.5, vendor: Oracle Corporation, runtime: /usr/lib/jvm/jdk-11.0.5</p><p>Default locale: en_US, platform encoding: UTF-8</p><p>OS name: "linux", version: "5.10.0-7-amd64", arch: "amd64", family: "unix"</p><p>$ mvn archetype:generate -DgroupId=ch.weetech.app -DartifactId=demo_ci -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false</p><p>[INFO] Scanning for projects...</p><p>[INFO] </p><p>[INFO] ------------------< org.apache.maven:standalone-pom >-------------------</p><p>[INFO] Building Maven Stub Project (No POM) 1</p><p>[INFO] --------------------------------[ pom ]---------------------------------</p><p>...</p><p>...</p><p>[INFO] ------------------------------------------------------------------------</p><p>[INFO] BUILD SUCCESS</p><p>[INFO] ------------------------------------------------------------------------</p><p>[INFO] Total time: 5.555 s</p><p>[INFO] Finished at: 2021-06-20T14:53:50+08:00</p><p>[INFO] ------------------------------------------------------------------------</p><p>$ cd demo_ci</p><p>$ tree .</p><p>.</p><p>├── pom.xml</p><p>└── src</p><p> ├── main</p><p> │ └── java</p><p> │ └── ch</p><p> │ └── weetech</p><p> │ └── app</p><p> │ └── App.java</p><p> └── test</p><p> └── java</p><p> └── ch</p><p> └── weetech</p><p> └── app</p><p> └── AppTest.java</p><p><br /></p><p>11 directories, 3 files</p><p>$ mvn package</p><p><br /></p><p>[INFO] Scanning for projects...</p><p>[INFO] </p><p>[INFO] -----------------------< ch.weetech.app:demo_ci >-----------------------</p><p>[INFO] Building demo_ci 1.0-SNAPSHOT</p><p>[INFO] --------------------------------[ jar ]---------------------------------</p><p>[INFO] </p><p>[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ demo_ci ---</p><p>[INFO] Using 'UTF-8' encoding to copy filtered resources.</p><p>...</p><p>...</p><p>...</p><p>[INFO] ------------------------------------------------------------------------</p><p>[INFO] BUILD SUCCESS</p><p>[INFO] ------------------------------------------------------------------------</p><p>[INFO] Total time: 2.221 s</p><p>[INFO] Finished at: 2021-06-20T14:56:41+08:00</p><p>[INFO] ------------------------------------------------------------------------</p><p>$ java -cp target/demo_ci-1.0-SNAPSHOT.jar ch.weetech.app.App</p><p>Hello World!</p><p>```</p><p>Once we have the sample project setup, test and compile code locally okay. Then it is time that we initialize git repository locally and push to GitHub. But before we do of the following, you need to create a new repository on your GitHub.</p><p><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio0Fcju6cePmik5ckd_BUqBzHVdhowdiFdesaQoWampGIEV-UqfRKqLOPmXx5XN8bZqfE8U7xOzhc4I5E7TnDjaC6MlYq71HrsjDc31NT9VoiJ9uqTX-yvkX4vYMFf7UB87Xq1He1NRhyphenhyphen6/s1323/create_repo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="981" data-original-width="1323" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio0Fcju6cePmik5ckd_BUqBzHVdhowdiFdesaQoWampGIEV-UqfRKqLOPmXx5XN8bZqfE8U7xOzhc4I5E7TnDjaC6MlYq71HrsjDc31NT9VoiJ9uqTX-yvkX4vYMFf7UB87Xq1He1NRhyphenhyphen6/s320/create_repo.png" width="320" /></a></div><p></p><p>```</p><p>$ mvn clean</p><p>[INFO] Scanning for projects...</p><p>[INFO] </p><p>[INFO] -----------------------< ch.weetech.app:demo_ci >-----------------------</p><p>[INFO] Building demo_ci 1.0-SNAPSHOT</p><p>[INFO] --------------------------------[ jar ]---------------------------------</p><p>[INFO] ------------------------------------------------------------------------</p><p>[INFO] BUILD SUCCESS</p><p>[INFO] ------------------------------------------------------------------------</p><p>[INFO] Total time: 2.079 s</p><p>[INFO] Finished at: 2021-06-20T15:24:46+08:00</p><p>[INFO] ------------------------------------------------------------------------</p><p>$ git init </p><p>hint: Using 'master' as the name for the initial branch. This default branch name</p><p>hint: is subject to change. To configure the initial branch name to use in all</p><p>hint: of your new repositories, which will suppress this warning, call:</p><p>hint: </p><p>hint: <span style="white-space: pre;"> </span>git config --global init.defaultBranch <name></p><p>hint: </p><p>hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and</p><p>hint: 'development'. The just-created branch can be renamed via this command:</p><p>hint: </p><p>hint: <span style="white-space: pre;"> </span>git branch -m <name></p><p>$ git status -m master</p><p>$ git status .</p><p>On branch master</p><p><br /></p><p>No commits yet</p><p><br /></p><p>Untracked files:</p><p> (use "git add <file>..." to include in what will be committed)</p><p><span style="white-space: pre;"> </span>pom.xml</p><p><span style="white-space: pre;"> </span>src/</p><p><br /></p><p>nothing added to commit but untracked files present (use "git add" to track)</p><p>$ git add pom.xml src/</p><p>$ git commit -m "initial"</p><p>[master (root-commit) 2cd8641] initial</p><p> 3 files changed, 108 insertions(+)</p><p> create mode 100644 pom.xml</p><p> create mode 100644 src/main/java/ch/weetech/app/App.java</p><p> create mode 100644 src/test/java/ch/weetech/app/AppTest.java</p><p>$ git remote add origin https://github.com/jasonwee/demo_ci.git</p><p>$ git branch -M main</p><p>$ git push -u origin main</p><p>Enumerating objects: 16, done.</p><p>Counting objects: 100% (16/16), done.</p><p>Delta compression using up to 16 threads</p><p>Compressing objects: 100% (6/6), done.</p><p>Writing objects: 100% (16/16), 1.76 KiB | 899.00 KiB/s, done.</p><p>Total 16 (delta 0), reused 0 (delta 0), pack-reused 0</p><p>To https://github.com/jasonwee/demo_ci.git</p><p> * [new branch] main -> main</p><p>Branch 'main' set up to track remote branch 'main' from 'origin'.</p><p>$ git status .</p><p>On branch main</p><p>Your branch is up to date with 'origin/main'.</p><p><br /></p><p>nothing to commit, working tree clean</p><p><br /></p><p>```</p><p>Now that you pushed everything to GitHub, next is to setup GitHub Actions.</p><p>1. Locate Actions from the project tab.</p><p>2. Picked 'Java with Maven' as this best match the current requirement.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj3rmSwcsP50AjrhWpuTJt8NQ7TPeT6mCPEKxGEJCSasN41naf9ety-FKe3Y27ZTdsobvipiN5oqljRdGEPpEUA3ySC8QAhfy5OKiEn9l7LGGxfkcUKlPrV2sjdtnpj6uFr-uWeJ4cHWLD/s1404/java_with_maven.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="979" data-original-width="1404" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj3rmSwcsP50AjrhWpuTJt8NQ7TPeT6mCPEKxGEJCSasN41naf9ety-FKe3Y27ZTdsobvipiN5oqljRdGEPpEUA3ySC8QAhfy5OKiEn9l7LGGxfkcUKlPrV2sjdtnpj6uFr-uWeJ4cHWLD/s320/java_with_maven.png" width="320" /></a></div><p>3. Check action configurations are okay and commit it. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidaB6mZIEClF_mKjtFxT4Ab0Zbw-Hx0qU1wQqinfm8SB794YA5P1rj4bt7aRvh5I0ig-jRv_icIELAxowxciaSWiiDo3Yj9S3HMTi9DkSQktXRqnOodGCcWmph_YWw9eu6kkzyqm0bl9un/s1851/action_configuration.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="914" data-original-width="1851" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidaB6mZIEClF_mKjtFxT4Ab0Zbw-Hx0qU1wQqinfm8SB794YA5P1rj4bt7aRvh5I0ig-jRv_icIELAxowxciaSWiiDo3Yj9S3HMTi9DkSQktXRqnOodGCcWmph_YWw9eu6kkzyqm0bl9un/w433-h214/action_configuration.png" width="433" /></a></div><br /><p><br /></p><p>4. once you commit, the action will kickstart the first run.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkiXZr-V2uNfCCPszfbiLDg2FYNi6bUKxymjoB5qSiOt20Vo6kh6orp9qIwZvf-dhAe9ECSWyqptXvZ_q4eP-GrLAsXVZ1iTJ2wwLFDB_Ye5RZ5TzZ7mRpOtOG2Fx8ARn2Hmk8a9QQ0xED/s1824/initial_action_run.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="659" data-original-width="1824" height="208" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkiXZr-V2uNfCCPszfbiLDg2FYNi6bUKxymjoB5qSiOt20Vo6kh6orp9qIwZvf-dhAe9ECSWyqptXvZ_q4eP-GrLAsXVZ1iTJ2wwLFDB_Ye5RZ5TzZ7mRpOtOG2Fx8ARn2Hmk8a9QQ0xED/w479-h208/initial_action_run.png" width="479" /></a></div><br /><p>Congratulation! This is the first CI that you setup. The rest, as you may have already guessed will be the same as every developer will do, i.e. making code changes.</p><p>```</p><p>$ vim README.md</p><p>$ cat README.md</p><p>a contribution to https://www.udacity.com/scholarships/suse-cloud-native-foundations-scholarship</p><p>$ git status .</p><p>On branch main</p><p>Your branch is up to date with 'origin/main'.</p><p><br /></p><p>Untracked files:</p><p> (use "git add <file>..." to include in what will be committed)</p><p><span style="white-space: pre;"> </span>README.md</p><p><br /></p><p>nothing added to commit but untracked files present (use "git add" to track)</p><p>$ git add README.md </p><p>$ git commit -m "added readme" README.md </p><p>[main a966f09] added readme</p><p> 1 file changed, 1 insertion(+)</p><p> create mode 100644 README.md</p><p>$ git push</p><p>Enumerating objects: 4, done.</p><p>Counting objects: 100% (4/4), done.</p><p>Delta compression using up to 16 threads</p><p>Compressing objects: 100% (3/3), done.</p><p>Writing objects: 100% (3/3), 410 bytes | 410.00 KiB/s, done.</p><p>Total 3 (delta 0), reused 0 (delta 0), pack-reused 0</p><p>To https://github.com/jasonwee/demo_ci.git</p><p> a273126..a966f09 main -> main</p><p>```</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwynFBffNJYW98yfzRHih7hm1c9zG24L3TwFW0NsBRcfnO0PB7zQf9zxLxQnoEgS_kTFDU3W5nUPkeZIWxKJost25h6IoM529g6yKENDSTADxJQvItUIvyO3dofMGNgCaPpt48ZkeOwKgu/s1692/second_action_run.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="654" data-original-width="1692" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwynFBffNJYW98yfzRHih7hm1c9zG24L3TwFW0NsBRcfnO0PB7zQf9zxLxQnoEgS_kTFDU3W5nUPkeZIWxKJost25h6IoM529g6yKENDSTADxJQvItUIvyO3dofMGNgCaPpt48ZkeOwKgu/w576-h223/second_action_run.png" width="576" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9xeC7lGTh8fmxD23zvY5-7qu74p3uUbkRCYTMfKcx3yuQkxkCx32yt88Ok-Ymz2jOLI2DAfK2czbrf6Pk8ajrgNQMekouWkjWmglbPFx6n7gF_idmMbnknSflBQHHH0XPhr2cnnhANeR4/s1806/second_action_run_console_output.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="909" data-original-width="1806" height="218" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9xeC7lGTh8fmxD23zvY5-7qu74p3uUbkRCYTMfKcx3yuQkxkCx32yt88Ok-Ymz2jOLI2DAfK2czbrf6Pk8ajrgNQMekouWkjWmglbPFx6n7gF_idmMbnknSflBQHHH0XPhr2cnnhANeR4/w496-h218/second_action_run_console_output.png" width="496" /></a></div><br /><div><br /></div><div><br /></div><div>That's it, in case you figure where can I find this repository to begin mine? <a href="https://github.com/jasonwee/demo_ci">https://github.com/jasonwee/demo_ci</a> <br /><p><br /></p></div>Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com083, Jalan Jati SD 4/6, Bandar Sri Damansara, 52200 Kuala Lumpur, Selangor, Malaysia3.2009863 101.62125163.1838469008392205 101.60408546230468 3.2181256991607792 101.63841773769531tag:blogger.com,1999:blog-8213516613462351304.post-60378069271352444392020-12-18T08:32:00.002+08:002020-12-18T18:45:04.917+08:00OpenHAB vs Xiaomi Sensororiginal from <a href="https://www.planetknauer.net/blog/archives/2020-12-OpenHAB-vs-Xiaomi-Sensoren.html">https://www.planetknauer.net/blog/archives/2020-12-OpenHAB-vs-Xiaomi-Sensoren.html</a>
<div><br /></div><div><br /></div><div>Some time ago I started to use OpenHAB to expand the monitoring of my servers to the whole apartment. It would be nice to know whether I closed the freezer in the basement again or if I left the door open out of sheer senility. Corresponding sensors are available for relatively little money, e.g. from Xiaomi (or from other manufacturers for a lot more money, whether they are easier to integrate is the big question). However, the integration of the Xiaomi sensors in OpenHAB is a Chinese opera in several acts: </div><div><br /></div><div> Act 1: The starter set
The starter set is available for around 80.- and it comes with a pressure switch, two door sensors and two motion detectors as well as the base station. According to the description, everything is very simple: Start the base station, install the Mihome app on an Android phone, select "Mainland China" as the server location, connect the app to the base station, activate developer mode via a hidden menu, read out the key and so that the base station can be integrated into OpenHAB.
Then everything would be very easy with a data flow sensor -> Xiaomi Hub -> OpenHAB.
Yes but...
Exactly, because the whole thing only works with the "Mainland China Edition" base station, which is not available in Europe. You can presumably have them delivered overseas through a Chinese wholesaler (don't forget the travel adapter, Chinese plugs don't fit into European sockets). But the EU edition is unusable:
- If you select "Mainland China" as the server location in the app, the base station cannot be found and therefore cannot be connected
- If you choose the server location "Europe", the hidden menu to activate the developer mode is missing. </div><div><br /></div><div> Act 2: Obsolete app
With a little research it turned out that an outdated version of the Mihome app can be found on dubious pages, which contains an error: It writes a debug log. Where to find the access key. Unfortunately, that alone doesn't help. This allows you to integrate the hub via the Xiaomi Mi IO extension from OpenHAB. But that was all. As a result, there is still no access to the sensors. For this, the developer mode would still have to be activated, which also opens Telnet access on the device.
Now there are two more options: A modified Mihome app from a Russian website that is completely in Cyrillic. Well uh ... Njet! Or unpack the soldering iron, tap the serial port, use it to gain terminal access and activate the Telnet server. Now that there is a good chance that this can destroy the device, I prefer to leave it (for now). At least I could resell it while it still works. </div><div><br /></div><div> Act 3: The Aqara Hub
A further look at the <a href="https://www.openhab.org/addons/bindings/mihome/" target="_blank">documentation of the Mihome binding</a> shows: The hub in version 3 (which is available as Aqara Hub for Apple Homekit) should be a little more accessible. Unfortunately, that costs almost as much as the whole set. And then just as little can. I immediately sent it back accordingly ...</div><div><br /></div><div><div>Act 4: Cheap Zigbee Stick</div><div>The Xiaomi devices, like all proprietary garbage, of course never exactly adhere to the standards. But at least enough that the protocol just barely passes as Zigbee. So I bought a USB Zigbee stick from the richest man in the world for € 9 + € 3.50 shipping. To my great surprise, this, although electronic device, it was sent from amazon germany to switzerland. Very unusual. And arrived super fast too. Also unusual.</div><div><br /></div><div>It is a simple USB stick with a CC2531 chip and zigbee2mqtt-compatible firmware preinstalled. Very awesome!</div><div><br /></div><div>In principle, OpenHAB would be able to address the Zigbee stick directly via the <a href="https://www.openhab.org/addons/bindings/zigbee/" target="_blank">Zigbee binding</a>. The data flow would then be Sensor -> USB stick -> OpenHAB. But there was something with the protocol standard at Xiaomi and stick to it. The sensors can be integrated, but are displayed as "offline" and no status can be queried. As usual, the following applies: why easy when it can be complicated?</div><div><br /></div><div>Now the from-behind-through-the-chest-in-the-eye installation for the data flow sensor -> USB stick -> zigbee2mqtt -> mqtt-broker -> OpenHAB begins.</div><div>First the stick is connected, it is recognized as a USB serial device / dev / ttyACM0.</div><div>Now an MQTT broker has to be installed, e.g. mosquitto from the Debian package sources. This is started without further configuration.</div><div>Next, zigbee2mqtt is installed with what feels like two thousand Node.JS dependencies (including npm from the Debian backports if you use Debian Stable as a base). In contrast to the OpenHAB part that follows later, this is <a href="https://www.zigbee2mqtt.io/" target="_blank">excellently documented</a>, so that this part feels more like paint-by-numbers than system administration.</div><div><br /></div><div>In principle, the devices can now be integrated. Simply reset the sensor with the SIM pin included in the package, and that's it. According to the instructions, you may have to repeat the process several times, but with the first two sensors it worked right away. A look at journalctl -u zigbee2mqtt -f shows activity.</div><div><br /></div><div>Now comes the hard part: connecting OpenHAB to MQTT. This is <a href="https://www.openhab.org/addons/bindings/mqtt/" target="_blank">documented very superficially and abstractly</a>. Add to this the chaos with instructions for MQTT1 and MQTT2 binding when you google for solutions. Which now applies to my installation? Boh? Ultimately, I followed the instructions for MQTT2, and that worked at some point. Probably: MQTT1 == OpenHAB1, MQTT2 == OpenHAB2 (and I'm running 2.5).</div></div><div><div><br /></div><div>How to proceed:</div><div>In the zigbee2mqtt configuration file /opt/zigbee2mqtt/data/configuration.yaml, the output should not be output as JSON but as an attribute. To do this, insert the following lines, save, restart zigbee2mqtt:</div></div><div><br /></div>experimental:<br /> output: attribute<div><span face="Verdana, Arial, Geneva, Helvetica, sans-serif" style="background-color: #fcfcfc; color: #222222; font-size: 16px;"><br /></span></div>And if we are already fiddling with the configuration, one should also assign sensible friendly_name to the sensors.<br />First install the MQTT binding in OpenHAB.<br />Then create a .things file with the required entries in /etc/openhab2/things /. At some point I found halfway suitable instructions in the forum ...<br />And now you are surprised that the things appear in the GUI, but no data is read ... Signal strength? NaN. Battery level? NaN. Status? Off. grrrmpf. After a long debugging process (yes, zigbee2mqtt writes in mosquitto, you can read along with mosquitto_sub -v -t '#') at some point just triggered the spontaneous Windows reflex and restarted OpenHAB itself. Aaand! Bingo! Everything works. So easy! Incidentally, the restart is necessary for every newly added (or renamed) device.<br /><br /><br />The finale: the OpenHAB Things file<br /><br /><br />Bridge mqtt:broker:MosquittoMqttBroker "Mosquitto MQTT Broker" [ host="127.0.0.1", secure=false] {<br /> Thing topic xdoor1 "Xiaomi Door Sensor" @ "Location" {<br /> Channels:<br /> Type switch : contact "contact" [ stateTopic = "zigbee2mqtt/xdoor1/contact", on="true", off="false" ]<br /> Type number : voltage "voltage" [ stateTopic = "zigbee2mqtt/xdoor1/voltage" ]<br /> Type number : battery "battery" [ stateTopic = "zigbee2mqtt/xdoor1/battery" ]<br /> Type number : linkquality "linkquality" [ stateTopic = "zigbee2mqtt/xdoor1/linkquality" ]<br /> }<br />}<br /><br /><br />Additional sensors can now easily be added to the bridge block. With a little more typing, sensors can also be defined outside the bridge block:<br /><br /><br />Thing mqtt:topic:MosquittoMqttBroker:BodySensor "Xiaomi Body Sensor" (mqtt:broker:MosquittoMqttBroker) @ "Location" {<br /> Channels:<br /> Type switch : occupancy "occupancy" [ stateTopic = "zigbee2mqtt/xbody1/occupancy", on="true", off="false" ]<br /> Type number : voltage "voltage" [ stateTopic = "zigbee2mqtt/xbody1/voltage" ]<br /> Type number : battery "battery" [ stateTopic = "zigbee2mqtt/xbody1/battery" ]<br /> Type number : linkquality "linkquality" [ stateTopic = "zigbee2mqtt/xbody1/linkquality" ]<br />}<br /><br /><br />The existing channels can be found out via mosquitto_sub or journalctl. As soon as you stimulate a sensor, it sends all of this information to the Zigbee controller.<br /><br /><br /><br />Applause<br />Of course, especially in combination with Zigbee (or Z-Wave), OpenHAB is a bottomless pit in terms of possibilities. A lot of technology can be connected even without a wireless connection: printers, mail and XMPP accounts, WLAN (or connected devices), telephone systems, mpd (Music Player Daemon), video cameras (e.g. via Zoneminder - but that would be a blog entry in itself) . With Zigbee everything gets even wilder. After the sensors, the entire rest of the house can be integrated, from lamps, heating and roller shutter control to the washing machine to the lawn mower to the wallbox of the electric vehicle.<br />If more Zigbee sensors / actuators are to be set up a little further away, you simply take a Raspberry Pi, connect another USB stick to it, install zigbee2mqtt and have the sensor data sent over the network to the MQTT broker on the OpenHAB machine .Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-68626694281927771702020-11-26T20:31:00.001+08:002020-11-26T20:31:31.237+08:00How does Reverse DNS work behind the scene - a layman explanation<p>Ever wonder what actually happen behind the scene when you do a reverse DNS query?</p><p>It is quick and it return a value.</p>
<pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; font-family: arial; font-size: 12px; overflow-wrap: normal; word-wrap: normal;"> $ time dig -x 8.8.8.8 +short
dns.google.
real 0m0.019s
user 0m0.005s
sys 0m0.005s</code><code style="overflow-wrap: normal; white-space: normal; word-wrap: normal;"><span style="font-family: Times New Roman;">
</span></code></pre>
<p>In this article, I will explain to you want happen behind the scene.</p><p>when the query pass to your resolver, what your resolver does, when you ask it for the ptr (which is 8.8.8.8.in-addr.arpa )</p>
<pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; font-family: arial; font-size: 12px; overflow-wrap: normal; word-wrap: normal;"> $ dig ptr 8.8.8.8.in-addr.arpa @a.root-servers.net </code><code style="overflow-wrap: normal; white-space: normal; word-wrap: normal;"><span style="font-family: Times New Roman;">
</span></code></pre>
<p>which will tell them: "I don't know about in-addr.arpa - you need to ask the in-addr.arpa server" which correspond to</p>
<pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; overflow-wrap: normal; word-wrap: normal;"> ;; AUTHORITY SECTION:
in-addr.arpa. 172800 IN NS a.in-addr-servers.arpa.
in-addr.arpa. 172800 IN NS b.in-addr-servers.arpa.
in-addr.arpa. 172800 IN NS c.in-addr-servers.arpa.
in-addr.arpa. 172800 IN NS d.in-addr-servers.arpa.
in-addr.arpa. 172800 IN NS e.in-addr-servers.arpa.
in-addr.arpa. 172800 IN NS f.in-addr-servers.arpa.
</code></pre>
<p>then the resolver asks one or more of them:</p>
<pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; overflow-wrap: normal; word-wrap: normal;">
dig ns 8.8.8.8.in-addr.arpa @a.in-addr-servers.arpa
</code></pre>
<p>again, it will get delegated to the next servers, which handle "8.in-addr.arpa"</p>
<pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; overflow-wrap: normal; word-wrap: normal;">
8.in-addr.arpa. 86400 IN NS arin.authdns.ripe.net.
8.in-addr.arpa. 86400 IN NS z.arin.net.
8.in-addr.arpa. 86400 IN NS y.arin.net.
8.in-addr.arpa. 86400 IN NS r.arin.net.
8.in-addr.arpa. 86400 IN NS x.arin.net.
8.in-addr.arpa. 86400 IN NS u.arin.net.
</code></pre>
<p>the game continues:</p>
<pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; overflow-wrap: normal; word-wrap: normal;">
dig ns 8.8.8.8.in-addr.arpa @z.arin.net
</code></pre>
<p>"you gotta ask level 3, they know about 8.8.in-addr.arpa"</p>
<pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; overflow-wrap: normal; word-wrap: normal;">
8.8.in-addr.arpa. 86400 IN NS ns1.level3.net.
8.8.in-addr.arpa. 86400 IN NS ns2.level3.net.
</code></pre>
<p>and the final delegation from level 3 is to the google nameservers:</p>
<pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; overflow-wrap: normal; word-wrap: normal;">
dig ns 8.8.8.8.in-addr.arpa @ns1.level3.net
[...]
;; AUTHORITY SECTION:
8.8.8.in-addr.arpa. 3600 IN NS ns4.google.com.
8.8.8.in-addr.arpa. 3600 IN NS ns2.google.com.
8.8.8.in-addr.arpa. 3600 IN NS ns3.google.com.
8.8.8.in-addr.arpa. 3600 IN NS ns1.google.com.
</code></pre>
<p>and only from them will you get the final anser for 8.8.8.8:</p>
<pre style="background-attachment: initial; background-clip: initial; background-color: #f0f0f0; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbF6gngpr7bQorGxFQC3apbBkYXenGkXr1l1GtRvhy7ZXcaJwDNFQHnPeqZrFDPxHELieDohCi_G2ssWE62mBphXE-9Yzz1KIE2NKDpyeoKwP2vDECtQj43If00XOLABa9BaDn43JAFqYR/s320/codebg.gif); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; background: #f0f0f0; border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; overflow-wrap: normal; word-wrap: normal;"> dig PTR 8.8.8.8.in-addr.arpa @ns1.google.com
; <<>> DiG 9.10.6 <<>> PTR 8.8.8.8.in-addr.arpa @ns1.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20871
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;8.8.8.8.in-addr.arpa. IN PTR
;; ANSWER SECTION:
8.8.8.8.in-addr.arpa. 86400 IN PTR dns.google.
;; Query time: 132 msec
;; SERVER: 2001:4860:4802:32::a#53(2001:4860:4802:32::a)
;; WHEN: Thu Nov 26 10:53:58 CET 2020
;; MSG SIZE rcvd: 73
</code></pre>
<p>That's it!</p>Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-16084143467452367292020-10-02T13:25:00.002+08:002020-10-02T13:26:32.866+08:00cassandra 4.0 important pointsRecently I have read a very good apache cassandra 4.0 books as <a href="https://www.bookdepository.com/Cassandra---The-Definitive-Guide-3e-Jeff-Carpenter/9781098115166" target="_blank">available here</a>. I would really like to recommend this book if you are new or even have use cassandra before (since version 1.0) and would like to know what have change since then. Below are the important points that I think would help me in the future of using cassandra 4.0.<div><br /></div><div>---</div><div><br /></div><div><div>https://github.com/jeffreyscarpenter/cassandra-guide</div><div><br /></div><div>Cassandra versions from 3.0 onward require a Java 8 JVM or later,</div><div>preferably the latest stable version. It has been tested on both the</div><div>OpenJDK and Oracle’s JDK. Cassandra 4.0 has been compiled and</div><div>tested against both Java 8 and Java 11. You can check your installed</div><div>Java version by opening a command prompt and executing java -</div><div>version .</div><div><br /></div><div><br /></div><div><br /></div><div>The committers work hard to ensure that data is readable from one</div><div>minor dot release to the next and from one major version to the</div><div>next. The commit log, however, needs to be completely cleared out</div><div>from version to version (even minor versions).</div><div>If you have any previous versions of Cassandra installed, you may</div><div>want to clear out the data directories for now, just to get up and</div><div>running. If you’ve messed up your Cassandra installation and want</div><div>to get started cleanly again, you can delete the data folders.</div><div><br /></div><div>If you’ve used Cassandra in releases prior to 3.0, you may also be</div><div>familiar with the command-line client interface known as</div><div>cassandra-cli . The CLI was removed in the 3.0 release because it</div><div>depends on the legacy Thrift API, which was deprecated in 3.0 and</div><div>removed entirely in 4.0.</div><div><br /></div><div><br /></div><div>Cassandra uses a special type of primary key called a composite key (or compound</div><div>key) to represent groups of related rows, also called partitions. The composite key</div><div>consists of a partition key, plus an optional set of clustering columns. The partition key</div><div>is used to determine the nodes on which rows are stored and can itself consist of mul‐</div><div>tiple columns. The clustering columns are used to control how data is sorted for stor‐</div><div>age within a partition. Cassandra also supports an additional construct called a static</div><div>column, which is for storing data that is not part of the primary key but is shared by</div><div>every row in a partition.</div><div><br /></div><div><br /></div><div>Insert, Update, and Upsert</div><div>Because Cassandra uses an append model, there is no fundamental</div><div>difference between the insert and update operations. If you insert a</div><div>row that has the same primary key as an existing row, the row is</div><div>replaced. If you update a row and the primary key does not exist,</div><div>Cassandra creates it.</div><div><br /></div><div><br /></div><div>Remember that TTL is stored on a per-column level for nonpri‐</div><div>mary key columns. There is currently no mechanism for setting</div><div>TTL at a row level directly after the initial insert; you would instead</div><div>need to reinsert the row, taking advantage of Cassandra’s upsert</div><div>behavior. As with the timestamp, there is no way to obtain or set</div><div>the TTL value of a primary key column, and the TTL can only be</div><div>set for a column when you provide a value for the column.</div><div><br /></div><div>Primary Keys Are Forever</div><div>After you create a table, there is no way to modify the primary key,</div><div>because this controls how data is distributed within the cluster, and</div><div>even more importantly, how it is stored on disk.</div><div><br /></div><div><br /></div><div><br /></div><div>Server-Side Denormalization with Materialized Views</div><div>Historically, denormalization in Cassandra has required designing</div><div>and managing multiple tables using techniques we will introduce</div><div>momentarily. Beginning with the 3.0 release, Cassandra provides</div><div>an experimental feature known as materialized views which allows</div><div>you to create multiple denormalized views of data based on a base</div><div>table design. Cassandra manages materialized views on the server,</div><div>including the work of keeping the views in sync with the table.</div><div><br /></div><div><br /></div><div>A key goal as you begin creating data models in Cassandra is to minimize the number</div><div>of partitions that must be searched in order to satisfy a given query. Because the parti‐</div><div>tion is a unit of storage that does not get divided across nodes, a query that searches a</div><div>single partition will typically yield the best performance.</div><div><br /></div><div>The CQL SELECT statement does support ORDER BY semantics, but only in the order specified by the</div><div>clustering columns (ascending or descending).</div><div><br /></div><div><br /></div><div>The Importance of Primary Keys in Cassandra</div><div>The design of the primary key is extremely important, as it will</div><div>determine how much data will be stored in each partition and how</div><div>that data is organized on disk, which in turn will affect how quickly</div><div>Cassandra processes read queries.</div><div><br /></div><div><br /></div><div>The queue anti-pattern serves as a reminder that any design that relies on the deletion</div><div>of data is potentially a poorly performing design.</div><div><br /></div><div>A rack is a logical set of nodes in close proximity to each other, perhaps on </div><div>physical machines in a single rack of equipment.</div><div><br /></div><div>A data center is a logical set of racks, perhaps located in the same building </div><div>and connected by reliable network.</div><div><br /></div><div><br /></div><div>The replication factor is</div><div>set per keyspace. The consistency level is specified per query, by the</div><div>client. The replication factor indicates how many nodes you want</div><div>to use to store a value during each write operation. The consistency</div><div>level specifies how many nodes the client has decided must</div><div>respond in order to feel confident of a successful read or write</div><div>operation. The confusion arises because the consistency level is</div><div>based on the replication factor, not on the number of nodes in the</div><div>system.</div><div><br /></div><div>Since the 2.0 release, Cassandra supports a lightweight</div><div>transaction (LWT) mechanism that provides linearizable consistency.</div><div><br /></div><div>The basic Paxos algorithm consists of two stages: prepare/promise and propose/</div><div>accept.</div><div><br /></div><div>In</div><div>early implementations of Cassandra, memtables were stored on the JVM heap, but</div><div>improvements starting with the 2.1 release have moved some memtable data to native</div><div>memory, with configuration options to specify the amount of on-heap and native</div><div>memory available.</div><div><br /></div><div>The counter cache was added in the 2.1 release to improve counter performance</div><div>by reducing lock contention for the most frequently accessed counters.</div><div><br /></div><div>One interesting feature of compaction relates to its intersection with incremental</div><div>repair. A feature called anticompaction was added in 2.1.</div><div><br /></div><div><br /></div><div>sers with prior experience may recall that Cassandra exposes an</div><div>administrative operation called major compaction (also known as</div><div>full compaction) that consolidates multiple SSTables into a single</div><div>SSTable. While this feature is still available, the utility of perform‐</div><div>ing a major compaction has been greatly reduced over time. In fact,</div><div>usage is actually discouraged in production environments, as it</div><div>tends to limit Cassandra’s ability to remove stale data.</div><div><br /></div><div><br /></div><div>Traditionally, SSTables have been streamed one partition at a time.</div><div>The Cassandra 4.0 release introduced a zero-copy streaming fea‐</div><div>ture to stream SSTables in their entirety using zero-copying APIs of</div><div>the host operating system. These APIs allow files to be transferred</div><div>over the network without first copying them into the CPU. This</div><div>feature is enabled by default and has been estimated to improve</div><div>streaming speed by a factor of 5.</div><div><br /></div><div><br /></div><div>, the system_traces keyspace</div><div>was added in 1.2 to support request tracing. The system_auth and</div><div>system_distributed keyspaces were added in 2.2 to support role-</div><div>based access control (RBAC) and persistence of repair data, respec‐</div><div>tively. Tables related to schema definition were migrated from</div><div>system to the system_schema keyspace in 3.0.</div><div><br /></div><div><br /></div><div>Hinted handoffs have traditionally been stored in the sys</div><div>tem.hints table. As thoughtful developers have noted, the fact that</div><div>hints are really messages to be kept for a short time and deleted</div><div>means this usage is really an instance of the well-known anti-</div><div>pattern of using Cassandra as a queue, which is discussed in Chap‐</div><div>ter 5. Hint storage was moved to flat files in the 3.0 release.</div><div><br /></div><div><br /></div><div>Because Cassandra partitions data across multiple nodes, each</div><div>node must maintain its own copy of a secondary index based on</div><div>the data stored in partitions it owns. For this reason, queries</div><div>involving a secondary index typically involve more nodes, making</div><div>them significantly more expensive.</div><div>Secondary indexes are not recommended for several specific cases:</div><div>• Columns with high cardinality. For example, indexing on the</div><div>hotel.address column could be very expensive, as the vast</div><div>majority of addresses are unique.</div><div>• Columns with very low data cardinality. For example, it would</div><div>make little sense to index on the user.title column (from</div><div>the user table in Chapter 4) in order to support a query for</div><div>every “Mrs.” in the user table, as this would result in a massive</div><div>row in the index.</div><div>• Columns that are frequently updated or deleted. Indexes built</div><div>on these columns can generate errors if the amount of deleted</div><div>data (tombstones) builds up more quickly than the compac‐</div><div>tion process can handle.</div><div><br /></div><div><br /></div><div>Elimination of the Cluster Object</div><div>Previous versions of DataStax drivers supported the concept of a</div><div>Cluster object used to create Session objects. Recent driver ver‐</div><div>sions (for example, the 4.0 Java driver and later) have combined</div><div>Cluster and Session into CqlSession .</div><div><br /></div><div><br /></div><div>Because a CqlSession maintains TCP connections to multiple</div><div>nodes, it is a relatively heavyweight object. In most cases, you’ll</div><div>want to create a single CqlSession and reuse it throughout your</div><div>application, rather than continually building up and tearing down</div><div>CqlSessions . Another acceptable option is to create a CqlSession</div><div>per keyspace, if your application is accessing multiple keyspaces.</div><div><br /></div><div><br /></div><div>The write path begins when a client initiates a write query to a Cassandra node which</div><div>serves as the coordinator for this request. The coordinator node uses the partitioner</div><div>to identify which nodes in the cluster are replicas, according to the replication factor</div><div>for the keyspace. The coordinator node may itself be a replica, especially if the client</div><div>is using a token-aware load balancing policy. If the coordinator knows that there are</div><div>not enough replicas up to satisfy the requested consistency level, it returns an error</div><div>immediately.</div><div>Next, the coordinator node sends simultaneous write requests to all local replicas for</div><div>the data being written. If the cluster spans multiple data centers, the local coordinator</div><div>node selects a remote coordinator in each of the other data centers to forward the</div><div>write to the replicas in that data center. Each of the remote replicas acknowledges the</div><div>write directly to the original coordinator node.</div><div><br /></div><div>The DataStax drivers do not provide separate mechanisms for</div><div>counter batches. Instead, you must simply remember to create</div><div>batches that include only counter modifications or only non-</div><div>counter modifications.</div><div><br /></div><div><br /></div><div>A node is considered unresponsive if it does not respond to a query before the</div><div>value specified by read_request_timeout_in_ms in the configuration file. The</div><div>default is 5 seconds.</div><div><br /></div><div><br /></div><div>The read repair may be performed either before or after the return to the client. If</div><div>you are using one of the two stronger consistency levels ( QUORUM or ALL ), then the</div><div>read repair happens before data is returned to the client. If the client specifies a weak</div><div>consistency level (such as ONE ), then the read repair is optionally performed in the</div><div>background after returning to the client. The percentage of reads that result in back‐</div><div>ground repairs for a given table is determined by the read_repair_chance and</div><div>dc_local_read_repair_chance options for the table.</div><div><br /></div><div><br /></div><div>The syntax of the WHERE clause involves two rules. First, all elements of the partition</div><div>key must be identified. Second, a given clustering key may only be restricted if all pre‐</div><div>vious clustering keys are restricted by equality.</div><div><br /></div><div><br /></div><div>While it is possible to change the partitioner on an existing cluster,</div><div>it’s a complex procedure, and the recommended approach is to</div><div>migrate data to a new cluster with your preferred partitioner using</div><div>techniques we discuss in Chapter 15.</div><div><br /></div><div>Deprecation of Thrift RPC Properties</div><div>Historically, Cassandra supported two different client interfaces:</div><div>the original Thrift API, also known as the Remote Procedure Call</div><div>(RPC) interface, and the CQL native transport first added in 0.8.</div><div>For releases through 2.2, both interfaces were supported and</div><div>enabled by default. Starting with the 3.0 release, Thrift was disabled</div><div>by default and has been removed entirely as of the 4.0 release. If</div><div>you’re using an earlier version of Cassandra, know that properties</div><div>prefixed with rpc generally refer to the Thrift interface.</div><div><br /></div><div><br /></div><div>Timeouts</div><div>If you’re building a cluster that spans multiple data centers, it’s a good idea to</div><div>measure the latency between data centers and tune timeout values in the cassan‐</div><div>dra.yaml file accordingly.</div><div><br /></div><div><br /></div><div>However, you may wish to reclaim the disk space used by this excess data more</div><div>quickly to reduce the strain on your cluster. To do this, you can use the nodetool</div><div>cleanup command. To complete as quickly as possible, you can allocate all compac‐</div><div>tion threads to the cleanup by adding the -j 0 option. As with the flush command,</div><div>you can select to clean up specific keyspaces and tables.</div><div><br /></div><div>The repair command can be restricted to run in the local data cen‐</div><div>ter via the -local option (which you may also specify via the</div><div>longer form --in-local-dc ), or in a named data center via the -dc</div><div><name> option (or --in-dc <name> ).</div><div><br /></div><div>Transitioning to Incremental Repair</div><div>Incremental repair became the default in the 2.2 release, and you</div><div>must use the -full option to request a full repair. If you are using a</div><div>version of Cassandra prior to 2.2, make sure to consult the release</div><div>documentation for any additional steps to prepare your cluster for</div><div>incremental repair.</div><div><br /></div><div>If you’re using the PropertyFileSnitch , you’ll need to add the address of your new</div><div>node to the properties file on each node and do a rolling restart of the nodes in your</div><div>cluster. It is recommended that you wait 72 hours before removing the address of the</div><div>old node to avoid confusing the gossiper.</div><div><br /></div><div>If the node is down, you’ll have to use the nodetool removenode command instead of</div><div>decommission . If your cluster uses vnodes, the removenode command causes Cassan‐</div><div>dra to recalculate new token ranges for the remaining nodes and stream data from</div><div>current replicas to the new owner of each token range.</div><div><br /></div><div>Beware the Large Partition</div><div>In addition to the nodetool tablehistograms discussed earlier,</div><div>you can detect large partitions by searching logs for WARN mes‐</div><div>sages that reference “Writing large partition” or “Compacting large</div><div>partition.” The threshold for warning on compaction of large parti‐</div><div>tions is set by the compaction_large_partition_warning_thres</div><div>hold_mb property in the cassandra.yaml file.</div><div><br /></div><div><br /></div><div>On the server side, you can configure individual nodes to trace some or all of their</div><div>queries via the nodetool settraceprobability command. This command takes a</div><div>number between 0.0 (the default) and 1.0, where 0.0 disables tracing and 1.0 traces</div><div>every query.</div><div><br /></div><div><br /></div><div>DateTieredCompactionStrategy Deprecated</div><div>TWCS replaces the DateTieredCompactionStrategy (DTCS)</div><div>introduced in the 2.0.11 and 2.1.1 releases, which had similar goals</div><div>but also some rough edges that made it difficult to use and main‐</div><div>tain. DTCS is now considered deprecated as of the 3.8 release. New</div><div>tables should use TWCS.</div><div><br /></div><div><br /></div><div>Property name Default value Description</div><div>read_request_timeout_in_ms 5000 (5 seconds) How long the coordinator waits for read operations to complete</div><div>range_request_timeout_in_ms 10000 (10 seconds) How long the coordinator should wait for range reads to complete</div><div>write_request_timeout_in_ms 2000 (2 seconds) How long the coordinator should wait for writes to complete</div><div>counter_write_request_time_out_in_ms 5000 (5 seconds) How long the coordinator should wait for counter writes to complete</div><div>cas_contention_timeout_in_ms 1000 (1 second) How long a coordinator should continue to retry a lightweight transaction</div><div>truncate_request_timeout_in_ms 60000 (1 minute) How long the coordinator should wait for truncates to complete (including snapshot)</div><div>streaming_socket_timeout_in_ms 3600000 (1 hour) How long a node waits for streaming to complete</div><div>request_timeout_in_ms 10000 (10 seconds) The default timeout for other, miscellaneous operations</div><div><br /></div><div><br /></div><div>G1GC generally requires fewer tuning decisions; the intended usage is that you need</div><div>only define the min and max heap size and a pause time goal. A lower pause time will</div><div>cause GC to occur more frequently.</div><div><br /></div><div>There has been considerable discussion in the Cassandra community about switching</div><div>to G1GC as the default. For example, G1GC was originally the default for the Cassan‐</div><div>dra 3.0 release, but was backed out because it did not perform as well as the CMS for</div><div>heap sizes smaller than 8 GB. The emerging consensus is that the G1GC performs</div><div>well without tuning, but the default configuration of ParNew/CMS can result in</div><div>shorter pauses when properly tuned.</div><div><br /></div><div><br /></div><div>Request throttling</div><div>If you’re concerned about a client flooding the cluster with a large number of</div><div>requests, you can use the Java driver’s request throttling feature to limit the rate</div><div>of queries to a value you define using configuration options in the</div><div>advanced.throttler namespace. Queries in excess of the rate are queued until</div><div>the utilization is back within range. This behavior is mostly transparent from the</div><div>client perspective, but it is possible to receive a RequestThrottlingException on</div><div>executing a statement; this indicates that the CqlSession is overloaded and</div><div>unable to queue the request.</div><div><br /></div><div><br /></div><div><br /></div><div>As of the 4.0 release, Cassandra supports hot reloading of certificates, which enables</div><div>certificate rotation without downtime. The keystore and truststore settings are</div><div>reloaded every 10 minutes, or you can force a refresh with the nodetool reloadssl</div><div>command.</div></div><div><br /></div>Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-11229889848929975432019-01-30T19:42:00.003+08:002022-10-20T15:37:52.367+08:00Java Roadmap<div><a href="https://www.oracle.com/java/technologies/javase/19-relnote-issues.html" target="_blank">jdk19</a></div><div><br /></div><div><div>* JEP 425 Virtual Threads (Preview)</div><div>* JEP 428 Structured Concurrency (Incubator)</div><div>* JEP 405 Record Patterns (Preview)</div><div>* JEP 427 Pattern Matching for switch (Third Preview)</div><div>* JEP 424 Foreign Function & Memory API (Preview)</div><div>* JEP 426 Vector API (Fourth Incubator)</div><div>* Support Unicode 14.0 (JDK-8268081)</div><div>* New system properties for System.out and System.err (JDK-8283620)</div><div>* HTTPS Channel Binding Support for Java GSS/Kerberos (JDK-8279842)</div><div>* Additional Date-Time Formats (JDK-8176706)</div><div>* New Methods to Create Preallocated HashMaps and HashSets (JDK-8186958)</div><div>* Support for PAC-RET Protection on Linux/AArch64 (JDK-8277204)</div><div>* Automatic Generation of the CDS Archive (JDK-8261455)</div><div>* Windows KeyStore Updated to Include Access to the Local Machine Location (JDK-6782021)</div><div>* Break Up SEQUENCE in X509Certificate::getSubjectAlternativeNames and X509Certificate::getIssuerAlternativeNames in otherName (JDK-8277976)</div><div>* (D)TLS Signature Schemes (JDK-8280494)</div><div>* Add a -providerPath Option to jarsigner (JDK-8281175)</div><div>* New Options for ktab to Provide Non-default Salt (JDK-8279064)</div><div>* New XML Processing Limits (JDK-8270504 (not public))</div><div>* Removal of Diagnostic Flag GCParallelVerificationEnabled (JDK-8286304)</div><div>* Remove Finalizer Implementation in SSLSocketImpl (JDK-8212136)</div><div>* Remove the Alternate ThreadLocal Implementation of the Subject::current and Subject::callAs APIs (JDK-8282676 (not public))</div><div>* java.lang.ThreadGroup Is Degraded (JDK-8284161)</div><div>* Deprecation of Locale Class Constructors (JDK-8282819)</div><div>* PSSParameterSpec(int) Constructor and DEFAULT Static Constant Are Deprecated (JDK-8254935)</div><div>* OAEPParameterSpec.DEFAULT Static Constant Is Deprecated (JDK-8284553)</div><div>* Metal Is Now the Default Java 2D Rendering Pipeline on macOS (JDK-8284378)</div><div>* New System Property to Disable Windows Alternate Data Stream Support in java.io.File (JDK-8285445)</div><div>* User's Home Directory Is Set to $HOME if Invalid (JDK-8280357)</div><div>* Thread Context ClassLoader Changed to be a Special Inheritable Thread-local (JDK-8284161)</div><div>* Source and Binary Incompatible Changes to java.lang.Thread (JDK-8284161)</div><div>* Incorrect Handling of Quoted Arguments in ProcessBuilder (JDK-8282008)</div><div>* Double.toString(double) and Float.toString(float) May Return Slightly Different Results (JDK-4511638)</div><div>* Make Annotation toString Output for Enum Constants Usable for Source Input (JDK-8281462)</div><div>* MD5 and SHA-1 Are Disabled by Default for HTTP Digest Authentication (JDK-8281561)</div><div>* Improved HTTP Proxy Detection on Windows (JDK-8262442)</div><div>* java.net.InetAddress Updated to Reject Ambiguous IPv4 Address Literals (JDK-8277608 (not public))</div><div>* Make HttpURLConnection Default Keep Alive Timeout Configurable (JDK-8278067)</div><div>* FileChannel.transferFrom May Transfer Fewer Bytes than Expected (JDK-8286763)</div><div>* The mark and set Methods of InputStream and FilterInputStream Are No Longer Synchronized (JDK-8284930)</div><div>* Files.copy Copies POSIX Attributes to Target on Foreign File System (JDK-8267820)</div><div>* FileChannel.lock/tryLock Changed to Treat Size 0 to Mean the Locked Region Goes to End of File (JDK-5041655)</div><div>* java.time.DateTimeFormatter: Wrong Definition of Symbol F (JDK-8282081)</div><div>* Support for IsoFields in JapaneseDate/MinguoDate/ThaiBuddhistDate (JDK-8279185)</div><div>* ForkJoinPool and ThreadPoolExecutor Do Not Use Thread::start to Start Worker Threads (JDK-8284161)</div><div>* InflaterInputStream.read Throws EOFException (JDK-8292327)</div><div>* Regex \b Character Class Now Matches ASCII Characters only by Default (JDK-8264160)</div><div>* Support for CLDR Version 41 (JDK-8265315)</div><div>* Parsing of URL Strings in Built-in JNDI Providers Is More Strict (JDK-8278972 (not public))</div><div>* jstatd No Longer Requires a SecurityManager (JDK-8272317)</div><div>* JVM TI Changes to Support Virtual Threads (JDK-8284161)</div><div>* JNI GetVersion Returns JNI_VERSION_19 (JDK-8286176)</div><div>* CPU Shares Ignored When Computing Active Processor Count (JDK-8281181)</div><div>* RPM JDK Installer Changes (JDK-8275446)</div><div>* All JDK Update Releases Are Installed into the Same Directory on macOS (JDK-8281010)</div><div>* JDK-8278370: [win] Disable Side-by-Side Installations of Multiple JDK Updates in Windows JDK Installers (JDK-8278370)</div><div>* Only Expose Certificates With Proper Trust Settings as Trusted Certificate Entries in macOS KeychainStore (JDK-8278449 (not public))</div><div>* RC2 and ARCFOUR Algorithms Added to jdk.security.legacyAlgorithms Security Property (JDK-8286090)</div><div>* Use Larger Default Key Sizes if not Explicitly Specified (JDK-8267319)</div><div>* getParameters of ECDSA Signature Objects Always Return Null (JDK-8286908)</div><div>* DES, DESede, and MD5 Algorithms Added to jdk.security.legacyAlgorithms Security Property (JDK-8255552)</div><div>* Fully Support Endpoint Identification Algorithm in RFC 6125 (JDK-7192189)</div><div>* TLS Cipher Suites using 3DES Removed from the Default Enabled List (JDK-8163327)</div><div>* Indy String Concat Changes Order of Operations (JDK-8273914)</div><div>* Lambda Deserialization Fails for Object Method References on Interfaces (JDK-8282080)</div><div>* JavaDoc Search Enhancements (JDK-8248863)</div><div>* Allow Per-User and System Wide Configuration of a jpackaged App (JDK-8250950)</div><div>* JShell Highlights Deprecated Elements, Variables, and Keywords (JDK-8274148)</div><div>* -Xss May Be Rounded up to a Multiple of the System Page Size (JDK-8236569)</div><div>* Use Larger Default key Sizes if not Explicitly Specified (JDK-8267319)</div></div><div><br /></div><div>jdk17</div><div><br /></div><div><br /></div><div><br /></div><div><a href="https://www.oracle.com/java/technologies/javase/16-relnote-issues.html" target="_blank">jdk16</a></div><div><br /></div><div>* JEP 389: Foreign Linker API (Incubator)</div><div>* JEP 396: Strongly Encapsulate JDK Internals by Default</div><div>* JEP 393: Foreign-Memory Access API (Third Incubator</div><div>* JEP 390: Warnings for Value-based Classes</div><div>* Add InvocationHandler::invokeDefault Method for Proxy's Default Method Support</div><div>* JEP 380: Unix domain sockets</div><div>* Day Period Support Added to java.time Formats</div><div>* Add Stream.toList() Method</div><div>* JEP 338: Vector API (Incubator)</div><div>* Improved CompileCommand Flag</div><div>* JEP 376: ZGC Concurrent Stack Processing</div><div>* Concurrently Uncommit Memory in G1</div><div>* New jdk.ObjectAllocationSample Event Enabled by Default</div><div>* JEP 387: Elastic Metaspace</div><div>* Signed JAR Support for RSASSA-PSS and EdDSA</div><div>* SUN, SunRsaSign, and SunEC Providers Supports SHA-3 Based Signature Algorithms</div><div>* jarsigner Preserves POSIX File Permission and symlink Attributes</div><div>* Added -trustcacerts and -keystore Options to keytool -printcert and -printcrl Commands</div><div>* SunPKCS11 Provider Supports SHA-3 Related Algorithms</div><div>* Improve Certificate Chain Handling</div><div>* Improve Encoding of TLS Application-Layer Protocol Negotiation (ALPN) Values</div><div>* TLS Support for the EdDSA Signature Algorithm</div><div>* JEP 397: Sealed Classes (Second Preview)</div><div>* JEP 395: Records</div><div>* JEP 394: Pattern Matching for instanceof</div><div>* JEP 392: Packaging Tool</div><div>* Removal of java.awt.PeerFixer</div><div>* Removal of Experimental Features AOT and Graal JIT</div><div>* Deprecated Tracing Flags Are Obsolete and Must Be Replaced With Unified Logging Equivalents</div><div>* Removed Root Certificates with 1024-bit Keys</div><div>* Removal of Legacy Elliptic Curves</div><div>* Terminally Deprecated ThreadGroup stop, destroy, isDestroyed, setDaemon and isDaemon</div><div>* Parts of the Signal-Chaining API Are Deprecated</div><div>* Deprecated the java.security.cert APIs That Represent DNs as Principal or String Objects</div><div>* Line Terminator Definition Changed in java.io.LineNumberReader</div><div>* Enhanced Support of Proxy Class</div><div>* Module::getPackages Returns the Set of Package Names in This Module</div><div>* Support Supplementary Characters in String Case Insensitive Operations</div><div>* Proxy Classes Are Not Open for Reflective Access</div><div>* The Default HttpClient Implementation Returns Cancelable Futures</div><div>* HttpPrincipal::getName Returned Incorrect Name</div><div>* HttpClient.newHttpClient and HttpClient.Builder.build Might Throw UncheckedIOException</div><div>* NullPointerException Not Thrown When First Argument to Path.of or Paths.get Is null</div><div>* Incomplete Support for Unix Domain Sockets in Windows 2019 Server</div><div>* US/Pacific-New Zone Name Removed as Part of tzdata2020b</div><div>* Argument Index of Zero or Unrepresentable by int Throws IllegalFormatException.</div><div>* GZIPOutputStream Sets the GZIP OS Header Field to the Correct Default Value</div><div>* Refine ZipOutputStream.putNextEntry() to Recalculate ZipEntry's Compressed Size</div><div>* java.util.logging.LogRecord Updated to Support Long Thread IDs</div><div>* TreeMap.computeIfAbsent Mishandles Existing Entries Whose Values Are null</div><div>* Support for CLDR Version 38</div><div>* Added Property to Control LDAP Authentication Mechanisms Allowed to Authenticate Over Clear Connections</div><div>* LDAP Channel Binding Support for Java GSS/Kerberos</div><div>* Make JVMTI Table Concurrent</div><div>* IncompatibleClassChangeError Exceptions Are Thrown For Failing 'final' Checks When Defining a Class</div><div>* Object Monitors No Longer Keep Strong References to Their Associated Object</div><div>* Added 3 SSL Corporation Root CA Certificates</div><div>* Added Entrust Root Certification Authority - G4 certificate</div><div>* Upgraded the Default PKCS12 Encryption and MAC Algorithms</div><div>* Disable TLS 1.0 and 1.1</div><div>* C-Style Array Declarations Are Not Allowed in Record Components</div><div>* Annotation Interfaces May Not Be Declared As Local Interfaces</div><div>* DocLint Support Moved to jdk.javadoc Module</div><div>* Eliminating Duplication in Simple Documentation Comments</div><div>* Viewing API Documentation on Small Devices</div><div>* API Documentation Links to Platform Documentation</div><div>* Improvements for JavaDoc Search</div>
<br /><div><a href="https://www.oracle.com/java/technologies/javase/15-relnote-issues.html">jdk15</a><div><br />
<div>* Unicode support to 13.0</div><div>* Hidden Classes</div><div>* Added Support for SO_INCOMING_NAPI_ID Support</div><div>* Specialized Implementations of TreeMap Methods</div><div>* Added Ability to Configure Third Port for Remote JMX</div><div>* New Option Added to jstatd for Specifying RMI Connector Port Number</div><div>* New Option Added to jcmd for Writing a gzipped Heap Dump</div><div>* Text Blocks</div><div>* New Options Added to jhsdb for debugd Mode</div><div>* Oracle JDK Installer for Windows Provides Executables (javac, etc) in a Path Reachable From Any Command Prompt</div><div>* Added Revocation Checking to jarsigner</div><div>* Tools Warn If Weak Algorithms Are Used Before Restricting Them</div><div>* SunJCE Provider Supports SHA-3 Based Hmac Algorithms</div><div>* New System Properties to Configure the TLS Signature Schemes</div><div>* Support for certificate_authorities Extension</div><div>* Support for canonicalize in krb5.conf</div><div>* Removal of Terminally Deprecated Solaris-specific SO_FLOW_SLA Socket Option</div><div>* Removal of RMI Static Stub Compiler (rmic)</div><div>* Removal of Deprecated Constant RMIConnectorServer.CREDENTIAL_TYPES</div><div>* Removal of Nashorn JavaScript Engine</div><div>* Obsolete -XXUseAdaptiveGCBoundary</div><div>* Removal of Comodo Root CA Certificate</div><div>* Removal of DocuSign Root CA Certificate</div><div>* Retired the Deprecated SSLSession.getPeerCertificateChain() Method Implementation</div><div>* Removal of com.sun.net.ssl.internal.ssl.Provider Name</div><div>* Deprecated RMI Activation for Removal</div><div>* Deprecated NSWindowStyleMaskTexturedBackground</div><div>* Deprecated -XXForceNUMA Option</div><div>* Disabled Biased-locking and Deprecated Biased-locking Flags</div><div>* Disabled Native SunEC Implementation by Default</div><div>* Added forRemoval=true to Previously Deprecated ContentSigner APIs</div><div>* Workaround for Windows GDI API's memory restrictions</div><div>* java.awt.Robot.delay() Method Completes With Interrupt Status Set When Interrupted</div><div>* Improved Serialization Handling</div><div>* Optimized Empty Substring Handling</div><div>* LookupdefineClass Links the Class</div><div>* DatagramSocketdisconnect Allows an Implementation to Throw UncheckedIOException</div><div>* java.net.HttpClient Does Not Override Protocols Specified in SSLContext Default Parameters</div><div>* Filtering and Ordering of Addresses Returned by Alternative Hosts File Name Service Provider</div><div>* DatagramPacket.getPort() Returns 0 When the Port Is Not Set</div><div>* Modified the MS950 charset Encoder's Conversion Table</div><div>* Support Monetary Grouping Separator in DecimalFormat/DecimalFormatSymbols</div><div>* localizedBy() Overrides Localized Values With Default Values</div><div>* ValueRange.of(long, long, long) Does Not Throw IAE on Invalid Inputs</div><div>* Performance Improvement for InflaterOutputStream.write</div><div>* Case Insensitive Matching Doesn't Work Correctly for Some Character Classes</div><div>* Better Listing of Arrays</div><div>* Support for CLDR version 37</div><div>* Localized Time Zone Name Inconsistency Between English and Other Locales</div><div>* [macos] Support for Notarizing jpackage app-image and dmg</div><div>* Flags Controlling C1 Inlining Have New Names</div><div>* Improved Ergonomics for G1 Heap Region Size</div><div>* ZGC A Scalable Low-Latency Garbage Collector (Production)</div><div>* Disabling large pages on Windows</div><div>* Disabling NUMA Interleaving on Windows</div><div>* Field Layout Computation Changed</div><div>* Enable ShowCodeDetailsInExceptionMessages by default</div><div>* Signature and SignatureSpi Get Parameter Methods May Return null When Unsupported</div><div>* SunPKCS11 Initialization With NSS When External FIPS Modules Are in Security Modules Database</div><div>* Default SSLEngine Should Create in Server Role</div><div>* Pattern Matching for instanceof (Second Preview)</div><div>* Standard Doclet Index Files Compression</div><br />
jdk14<br />
* JDK Flight Recorder event streaming provides an API for the continuous consumption of JFR data from both in-process and out-of-process applications.<br />
* The planned improvement to NullPointerExceptions pertains to improving the usability of the exceptions generated by the JVM by describing exactly which variable was null.<br />
* Non-volatile mapped byte buffers would add new JDK-specific file mapping modes that allow the FileChannel API to be used to create MappedByteBuffer instances that refer to non-volatile memory (NVM).<br />
* Enhance the language with pattern matching for the instanceof operator. This would be a preview feature in JDK 14.<br />
* Switch expressions simplify coding by extending switch so that it can be used as either a statement or an expression.<br />
* NUMA-aware memory allocation for the G1 garbage collector, intended to improve G1 performance on large machines.<br />
* Removal of the Concurrent Mark Sweep (CMS) garbage collector, which previously was deprecated and slated for removal. Successors to CMS have arisen including ZGC and Shenandoah.<br />
* Porting of ZGC to MacOS. It has been supported only on Linux thus far.<br />
* Removal of the pack200 and unpack200 tools and the Pack200 API in the java.util.jar package.<br />
* Records https://openjdk.java.net/jeps/359<br />
* Deprecating the combination of the Parallel Scavenge and Serial Old garbage collection algorithms.<br />
* Porting of the ZGC (Z Garbage Collector) to Windows.<br />
* Foreign-memory access API, with the introduction of an API for Java programs to safely and efficiently access foreign memory outside of the Java heap.<br />
* Deprecation of the Solaris/Sparc, Solaris/x64, and Linux/Sparc ports, with the intent to remove them in a future release.<br />
<br />
<br />
<br />
jdk13<br />
* text block<br />
* a reimplementation of the legacy socket API<br />
* switch expressions<br />
* enhancements to the ZGC (Z Garbage Collector)<br />
* extending application class-data sharing (AppCDS) to enable dynamic archiving of classes at the end of application execution.<br />
<div>
<br /></div>
<br />
jdk 12<br />
* switch expressions<br />
* <a href="https://openjdk.java.net/projects/jdk/12/">https://openjdk.java.net/projects/jdk/12/</a><br />
<br />
<br />
jdk 11<br />
* lts<br />
* dynamic class file constants<br />
* converged binaries, oracle jdk & open jdk<br />
* opensource flight recorder<br />
* opensource mission control<br />
* browser plugin removed<br />
* java web start removed<br />
* javafx removed from jdk and replace as a lib<br />
<pre style="background-color: #f8f8f8; border: 1px dashed rgb(153, 153, 153); color: #333333; font-family: "andale mono", "lucida console", monaco, fixed, monospace; font-size: 13px; line-height: 14px; overflow: auto; padding: 5px;">javafx.* [8-10]
javafx.css [9-10]
javafx.css.converter [9-10]
javafx.fxml [9-10]
javafx.scene [9-10]
javafx.util [9-10]</pre>
* epsilon garbage collector<br />
* improve aarch64 intrinsics<br />
* low overhead heap profiling<br />
* http client<br />
<span style="background-color: white; color: #333333; font-family: "georgia" , serif; font-size: 13px;">The Standard HTTP Client has been moved from </span><code style="background-color: white; color: #333333; font-family: "andale mono", "lucida console", monaco, fixed, monospace; font-size: 13px;">jdk.incubator.http</code><span style="background-color: white; color: #333333; font-family: "georgia" , serif; font-size: 13px;"> to </span><code style="background-color: white; color: #333333; font-family: "andale mono", "lucida console", monaco, fixed, monospace; font-size: 13px;">java.net.http</code><span style="background-color: white; color: #333333; font-family: "georgia" , serif; font-size: 13px;">:</span><br />
<div>
<span style="background-color: white; color: #333333; font-family: "georgia" , serif; font-size: 13px;"> </span><span style="background-color: #f8f8f8; color: #333333; font-family: "andale mono" , "lucida console" , "monaco" , "fixed" , monospace; font-size: 13px;">java.net.http.HttpClient</span></div>
<pre style="background-color: #f8f8f8; border: 1px dashed rgb(153, 153, 153); color: #333333; font-family: "andale mono", "lucida console", monaco, fixed, monospace; font-size: 13px; line-height: 14px; overflow: auto; padding: 5px;">java.net.http.HttpClient$Builder
java.net.http.HttpClient$Redirect
java.net.http.HttpClient$Version
java.net.http.HttpConnectTimeoutException
java.net.http.HttpHeaders
java.net.http.HttpRequest
java.net.http.HttpRequest$BodyPublisher
java.net.http.HttpRequest$BodyPublishers
java.net.http.HttpRequest$Builder
java.net.http.HttpResponse
java.net.http.HttpResponse$BodyHandler
java.net.http.HttpResponse$BodyHandlers
java.net.http.HttpResponse$BodySubscriber
java.net.http.HttpResponse$BodySubscribers
java.net.http.HttpResponse$PushPromiseHandler
java.net.http.HttpResponse$ResponseInfo
java.net.http.HttpTimeoutException
java.net.http.WebSocket
java.net.http.WebSocket$Builder
java.net.http.WebSocket$Listener
java.net.http.WebSocketHandshakeException</pre>
* extend local-variable syntax<br />
* unicode 10 support<br />
* launch single file source code<br />
* shebang<br />
* transport layer security tls 1.3<br />
* zgc<br />
* deprecate nashorn javascript engine<br />
* key agreement with curve25519 and curve448<br />
<a href="http://openjdk.java.net/jeps/324" style="background-color: white; color: #999999; font-family: georgia, serif; font-size: 13px;">JEP 324: Key Agreement with Curve25519 and Curve448</a><span style="background-color: white; color: #333333; font-family: "georgia" , serif; font-size: 13px;"> comes with a few classes,</span><br />
<div>
<pre style="background-color: #f8f8f8; border: 1px dashed rgb(153, 153, 153); color: #333333; font-family: "andale mono", "lucida console", monaco, fixed, monospace; font-size: 13px; line-height: 14px; overflow: auto; padding: 5px;">java.security.interfaces.XECKey
java.security.interfaces.XECPrivateKey
java.security.interfaces.XECPublicKey
java.security.spec.NamedParameterSpec
java.security.spec.XECPrivateKeySpec
java.security.spec.XECPublicKeySpec</pre>
</div>
* chacha20 and poly1305 cryptographic algorithms<br />
* optional.isEmpty()<br />
* character.toString(int)<br />
* String, isBlank(), lines(), repeat(int), strip(), stripLeading(), stripTrailing()<br />
* predicate not<br />
* java ee and corba module are dropped<br />
<pre style="background-color: #f8f8f8; border: 1px dashed rgb(153, 153, 153); color: #333333; font-family: "andale mono", "lucida console", monaco, fixed, monospace; font-size: 13px; line-height: 14px; overflow: auto; padding: 5px;">javax.activation [6-10]
javax.activity [5-10]
javax.annotation [6-10]
javax.jnlp [5-10]
javax.jws [6-10]
javax.rmi.CORBA [3-10]
javax.security.auth.Policy [4-10]
javax.transaction [3-10]
javax.xml.bind [6-10]
javax.xml.soap [6-10]
javax.xml.ws [6-10]
jdk.management.cmm.SystemResourcePressureMXBean [8-10]
jdk.management.resource [8-10]
jdk.packager.services.singleton [only 10]
jdk.packager.services.userjvmoptions [9-10]
org.omg.CORBA [2-10]</pre>
*<br />
<br />
jdk 10<br />
* local variable type inference<br />
* parallel full gc for g1<br />
* application class data sharing<br />
* experimental java based jit compiler (graal)<br />
* root certificates<br />
* consolidate jdk forests into single repo<br />
* heap allocation on alternative devices (intel)<br />
* remove javah tool<br />
* garbage collector interface (red hat)<br />
* thread local handshakes<br />
* list, set, map.copyOf(collection)<br />
* collectors, toUnmodifiableList, toUnmodifiableMap, toUnmodifiableSet<br />
* Optional.orElseThrow()<br />
* jvm now more docker container aware<br />
*<br />
<br />
<a href="https://docs.oracle.com/javase/9/index.html"><br class="Apple-interchange-newline" />jdk 9</a><br />
* Java Platform Module System<br />
* Java flow API<br />
<br class="Apple-interchange-newline" />
jdk 8<br />
* lts<br />
* lambda<br />
<br />
<br />
<br />
<div>
<br /></div>
</div></div>Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-7688661173956502212017-11-06T00:00:00.000+08:002017-11-06T00:00:07.476+08:00become a part of atlas ripe communityOne of the primary objective is to give back what we have learn from the world and in this article, I am doing exactly that. Recently a good friend of mine introduce me to atlas ripe community where to join as a member and host a probe for the benefit of better and real time worldwide networking troubleshooting.<br />
<br />
At first I was puzzled how does it work and why should I apply to host a probe. After a demo, it looks like this <a href="https://atlas.ripe.net/landing/measurements-and-tools/">User Define Measurement or UDM</a> will help my work and so I was convinced. It shown a report of network connectivity from ping to ssl certificate checks from the probes worldwide.<br />
<br />
So I applied and you can too! It can be <a href="https://atlas.ripe.net/get-involved/become-a-host/">apply here</a>. After sometime I thought my application was rejected because I have not get any response from the atlas ripe community. It was like 1-2weeks after application. But on 17 october 2017, I got the email from ripe community that they shipped the unit! I was excited but it took sometime to reach Malaysia as the parcel travel from Netherlands.<br />
<br />
On 31 october 2017, I received the parcel in my mailbox! Take a look below<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkiVQ5uWGLou3ZVzMFOKRhaZeN2fZZcrQSS_aCKvNBaLakIALyYgE5HMEqiPhsedYG79NTNCY6WYCbvNlLA8Zly3PDhDMTgi1sW29PUEOjfF2LIdgCzXOC2m1c5R9SuAfxoi3_BSOkFxhx/s1600/IMG_20171031_183951_HDR.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkiVQ5uWGLou3ZVzMFOKRhaZeN2fZZcrQSS_aCKvNBaLakIALyYgE5HMEqiPhsedYG79NTNCY6WYCbvNlLA8Zly3PDhDMTgi1sW29PUEOjfF2LIdgCzXOC2m1c5R9SuAfxoi3_BSOkFxhx/s640/IMG_20171031_183951_HDR.jpg" width="640" /></a></div>
<br />
It was really easy after that, the probe ID is label as a sticker on the prob and once <a href="https://atlas.ripe.net/register/">registered to the site</a>, you are ready to plug the prob to the network. It was hassle less, once plug into the router network interface and this unit is usb powered, it took no time to detected by the ripe atlas site.<br />
<br />
You can check the <a href="https://atlas.ripe.net/probes/">probe status here</a>. If you probe is up and service user defined measurement from other users requests, you start to <a href="https://atlas.ripe.net/user/credits/">earn credits</a>. This credit can be use for your own user defined measurement! On second day of hosting, I got 538k of credit which is really cool.<br />
<br />
If you are in system or network admin, I think this will help you to troubleshoot if you have to measure connectivity from network devices worldwide.Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-55882353525905245042017-11-05T21:27:00.000+08:002017-11-05T21:27:14.201+08:00Going IPv6-only - Gamers, don't do this at home!<h2 style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt;">
</h2>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Recently I've attended a talk about Cisco's <a href="https://blogs.cisco.com/enterprise/an-ipv6-campus-of-the-future" target="_blank">IPv6-only campus building in San Jose</a> . While their internal network is IPv6 only they are still able to talk to IPv4 hosts using NAT64. This motivated me to try this out at home. </span></span></div>
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 14pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Current setup</span></span></h3>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">I'm already running a nicely working dual-stack setup. My <a href="https://www.fiber7.ch/" target="_blank">ISP</a> assigns me one semi-static IPv4 (officially it's dynamic but it never actually changes) and a static generous /48 over DHCPv6-PD. Internally I have a bunch of DHCP/DHCPv6/SLAAC client devices and two servers hosting a few VMs with static IPv4 and IPv6 addresses.</span></span></div>
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 14pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Goals</span></span></h3>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">In this experiment, I want to disable IPv4 connectivity for my client devices. For target hosts only accessible over IPv4 I will set up a DNS64 / NAT64 environment. I want to find out how much my usual activities are affected, for example browsing, checking email and gaming.</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<h4 style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Requirements</span></span></h4>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">If something breaks horribly, I want to be able to go back easily and quickly. </span></span></div>
</li>
<li dir="ltr" style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">I only want to test the impact on client devices ( "end user experience" ) - my infrastructure hosts should still be able to communicate over IPv4 where needed.</span></span></div>
</li>
</ul>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<h4 style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">The plan</span></span></h4>
<div>
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;"><br /></span></span></div>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Set up NAT64 in a VM</span></span></div>
</li>
<li dir="ltr" style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Set up DNS64</span></span></div>
</li>
<li dir="ltr" style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Disable DHCP v4 and release all IPv4 addresses on my clients. . I'm not going to actually disable their IPv4 stack, I don't care if windows does automatic IPv4 shenanigans on the local network.</span></span></div>
</li>
</ul>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 16pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">NAT64 setup</span></span></h2>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">First, I've created a new virtual machine on my KVM host. I installed a standard <a href="https://www.centos.org/" target="_blank">Centos 7 </a>("Infrastructure Server"). For the actual NAT64 translation I decided to install <a href="https://www.jool.mx/" target="_blank">Jool</a> . There are alternatives around but this seemed to be the most current one. </span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">There are no packages for Centos available, but the installation is still pretty simple:</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b>Prerequisites</b></span><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">:</span></span></div>
<span style="color: #999999;"><br /></span>
<span style="color: #999999; font-family: "courier new" , "courier" , monospace;">yum groupinstall "Development Tools"<br />yum install epel-release<br />yum install dkms libnl3-devel kernel-devel <br />wget https://github.com/NICMx/releases/raw/master/Jool/Jool-3.5.4.zip<br />unzip Jool-3.5.4.zip</span><br />
<div>
<span style="color: #eeeeee;"><br /></span></div>
<div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b><span style="color: #eeeeee;">Build the kernel module:</span></b></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;"><br /></span></span></div>
<span style="color: #eeeeee;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">dkms install Jool-3.5.4</span></span><br />
<span style="color: #eeeeee;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b><span style="color: #eeeeee;">Build the userspace application:</span></b></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">cd Jool-3.5.4</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">autoconf.sh</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">./configure</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">make</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">make install</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Then we can start the translation. For this I wrote a simple script:</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee; font-family: "courier new" , "courier" , monospace;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">cat nat64.sh</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> </span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"># enable routing</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">sysctl -w net.ipv4.conf.all.forwarding=1</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">sysctl -w net.ipv6.conf.all.forwarding=1</span></span></div>
<b style="font-weight: normal;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"># disable offloading - see https://www.jool.mx/en/offloads.html</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">ethtool --offload eth0 gro off</span></span></div>
<b style="font-weight: normal;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"># assign 64:ff9b::/96 </span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">/sbin/ip address add 64:ff9b::/96 dev eth0</span></span></div>
<b style="font-weight: normal;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"># start jool</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">/sbin/modprobe jool pool6=64:ff9b::/96</span></span></div>
<b style="font-weight: normal;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"># enable logging</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">jool --logging-bib=true</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">jool --logging-session=true</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Two things to note:</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
</div>
<ul>
<li><span style="color: #eeeeee;"> I've assigned the standard range <span style="font-family: "courier new" , "courier" , monospace;">64:ff9b::/96</span> to the NAT64 box - this is suggested and required if you plan on using for example the google DNS64 instead of your own. If you only roll your own DNS64 then you could use a different range here</span></li>
<li><span style="color: #eeeeee;">The script above disables <a href="https://www.jool.mx/en/offloads.htmll" target="_blank">offloading</a> in the VM - but it also needs to be done on the VM host. I didn't realise this at first and it resulted in horrible performance. I should have read the <a href="https://www.jool.mx/en/faq.html" target="_blank">FAQ</a> first …</span></li>
</ul>
<br />
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Finally, once jool is running we also set up a route to this range. I probably could tinker around with <a href="http://www.litech.org/radvd/" target="_blank">radvd</a> on this box to announce the range directly, but it seemed easier to just set up a static route on my gateway(ubnt Edgerouter ), and this worked fine.</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">set protocols static route6 64:ff9b::/96 next-hop 2a02:999:1337:23::50</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Now we should be able to reach IPv4 targets over IPv6 internally. You can simply test this by concatenating the IPv6 prefix above with the IPv4 address:</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">ping 64:ff9b::8.8.8.8</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">PING 64:ff9b::8.8.8.8(64:ff9b::808:808) 56 data bytes</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">64 bytes from 64:ff9b::808:808: icmp_seq=1 ttl=57 time=1.18 ms</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">64 bytes from 64:ff9b::808:808: icmp_seq=2 ttl=57 time=0.996 ms</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 16pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">DNS64 setup</span></span></h2>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Now that we have a working NAT64 gateway, we also need to tell the IPv6 client when to actually use it. The principle is simple: The client asks our DNS64 Resolver for the AAAA record of its target and our resolver will pass this query on. If it gets a positive answer it will pass it back to the client - the target is reachable with IPv6 directly and we don't need to involve NAT64. But if the server responds with </span><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><i>NODATA</i></span><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> our resolver will synthesise AAAA records itself based on the target's A records. The synthesised AAAA records point to the NAT64 IP range defined earlier.</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">For example, google.com has AAAA records, these will be returned as-is. But 'nzz.ch' does not. In this case the resolver gets the A record of nzz.ch (</span><span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">194.40.217.50</span></span><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">) and builds the AAAA record </span><span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">64:ff9b::c228:d932</span></span><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (which corresponds to the 4-in-6 notation </span><span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">64::ff9b::194.40.217.50</span></span><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">)</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Google provides such a <a href="https://developers.google.com/speed/public-dns/docs/dns64" target="_blank">DNS64 service</a> on the addresses </span><span style="background-color: transparent; font-size: 12pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">2001:4860:4860::6464</span></span><span style="background-color: transparent; font-family: "arial"; font-size: 12pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> and </span><span style="background-color: transparent; font-size: 12pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">2001:4860:4860::64</span></span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 12pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Currently my clients are configured to point to a local <a href="https://www.dnsdist.org/" target="_blank">dnsdist</a> - a very flexible DNS load balancer. While it's admittedly a bit of an overkill to have a load balancer in my LAN, dnsdist makes experiments like these super easy, because it allows me to simply switch between standard and DNS64 backends or different DNS64 implementations without the need to reconfigure any of my clients. they will always just see the dnsdist IP as resolver, which they got from SLAAC ( </span><span style="background-color: transparent; font-size: 12pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">radvd-options "RDNSS 2a02:999:1337:23::88 {};"</span></span><span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 12pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> ). dnsdist also provides nice real-time graphs and inspection possibilities.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSNw54nIa6n8zCZpHlqiIJfrTuH0z0TEaI9O-7tT_5KmjNapVlhD04W0huJzsQqIHQKAKKQT_3-_DbSeCeVsXIs8ACTYyu25NzGqaN2j4zDFp7rkYXROnHz1YlJcu79TQSRI3pZgK5z6UX/s1600/dnsdist.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="405" data-original-width="1600" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSNw54nIa6n8zCZpHlqiIJfrTuH0z0TEaI9O-7tT_5KmjNapVlhD04W0huJzsQqIHQKAKKQT_3-_DbSeCeVsXIs8ACTYyu25NzGqaN2j4zDFp7rkYXROnHz1YlJcu79TQSRI3pZgK5z6UX/s320/dnsdist.png" width="320" /></a></div>
<br /></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 12pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Behind my dnsdist I have a local <a href="https://www.powerdns.com/recursor.html" target="_blank">PowerDNS Recursor</a> which we will now configure to do DNS64. </span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 12pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We copy the example lua config from the <a href="https://doc.powerdns.com/md/recursor/dns64/" target="_blank">documentation</a> and adapt it to use our </span><span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">64:ff9b::/96 </span></span><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">range. So our </span><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><i>dns64.lua</i></span><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> file looks like this:</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">-- this small script implements dns64 without any specials or customization</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">prefix = "64:ff9b::"</span></span></div>
<b style="font-weight: normal;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">function nodata ( dq )</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> if dq.qtype ~= pdns.AAAA then</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> return false</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> end -- only AAAA records</span></span></div>
<b style="font-weight: normal;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> -- don't fake AAAA records if DNSSEC validation failed</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> if dq.validationState == pdns.validationstates.Bogus then</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> return false</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> end</span></span></div>
<b style="font-weight: normal;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> dq.followupFunction = "getFakeAAAARecords"</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> dq.followupPrefix = prefix</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> dq.followupName = dq.qname</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> return true</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">end</span></span></div>
<b style="font-weight: normal;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">-- the ip6.arpa address is the reverse of the prefix address above</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">function preresolve ( dq )</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> if dq.qtype == pdns.PTR and dq.qname:isPartOf(newDN("b.9.f.f.4.6.0.0.ip6.arpa")) then</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> dq.followupFunction = "getFakePTRRecords"</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> dq.followupPrefix = prefix</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> dq.followupName = dq.qname</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> return true</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> end</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;"> return false</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">end</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We save the script in /etc/pdns-recursor/dns64.lua and then activate it in </span><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><i>/etc/pdns-recursor/recursor.conf</i></span><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">:</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">lua-dns-script=/etc/pdns-recursor/dns64.lua</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Now we're ready for prime time and should be able to resolve IPv4-only targets. Let's test (from any box in my lan):</span></span></div>
<b style="font-weight: normal;"><span style="color: #999999;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">dig aaaa nzz.ch +short</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">64:ff9b::c228:d932</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">works!</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Just to make sure, we want to test if IPv6 enabled targets still resolve correctly. They should *not* be rewritten to our </span><span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">64:ff9b::/96</span></span><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> prefix!</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">dig aaaa google.ch +short</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">2a00:1450:400a:807::2003</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">all good!</span></span></div>
<span style="color: #eeeeee;"><b style="font-weight: normal;"><br /></b><span style="font-family: "arial"; font-size: 16pt; white-space: pre-wrap;">Go live</span></span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">To force the clients to use IPv6 I'm simply disabling the DHCPv4 server on my gateway and release the V4 address (on windows: </span><span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">ipconfig /release </span><span style="font-family: inherit;">or disable IPv4 in the adapter settings</span></span><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> ). </span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">To make sure they don't reach anything over IPv4 anymore:</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTaM4-H5Q6uCuRBvHt6plVlbHkboR_cTfWQtZP1AvO8r9JGbLDKvScUeHkCHIXuV_vJYl-dzytXe84Gzim2kZ-DO78tRxjgicIC75RvOE0lrBN_hGTvFpfstgPwZc4y-dQBtCVQ8XoQpi3/s1600/pingtest.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="187" data-original-width="1057" height="70" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTaM4-H5Q6uCuRBvHt6plVlbHkboR_cTfWQtZP1AvO8r9JGbLDKvScUeHkCHIXuV_vJYl-dzytXe84Gzim2kZ-DO78tRxjgicIC75RvOE0lrBN_hGTvFpfstgPwZc4y-dQBtCVQ8XoQpi3/s400/pingtest.png" width="400" /></a></div>
<br /></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">At the same time I open a console on my NAT64 box and tail the logs to see what traffic gets NAT'ed</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee; font-family: "courier new" , "courier" , monospace;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">Nov 03 14:33:01 nat64 kernel: NAT64 Jool: 2017/11/3 13:33:1 (GMT) - Added session 2a02:999:1337:23::100#2090|64:ff9b::c228:d932#2090|192.168.23.50#64627|194.40.217.50#64627|ICMP</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">Nov 03 14:33:01 nat64 kernel: NAT64 Jool: 2017/11/3 13:33:1 (GMT) - Mapped 2a02:999:1337:23::100#2090 to 192.168.23.50#64627 (ICMP)</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">Nov 03 14:33:05 nat64 kernel: NAT64 Jool: 2017/11/3 13:33:5 (GMT) - Forgot session 2a02:999:1337:1337:3c75:4fdc:8b1e:64c#53261|64:ff9b::57ec:c857#443|192.168.23.50#64235|87.236.200.87#443|TCP</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">Nov 03 14:33:05 nat64 kernel: NAT64 Jool: 2017/11/3 13:33:5 (GMT) - Forgot 2a02:999:1337:1337:3c75:4fdc:8b1e:64c#53261 to 192.168.23.50#64235 (TCP)</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">Nov 03 14:33:05 nat64 kernel: NAT64 Jool: 2017/11/3 13:33:5 (GMT) - Forgot session 2a02:999:1337:1337:3c75:4fdc:8b1e:64c#53259|64:ff9b::57ec:c857#443|192.168.23.50#64231|87.236.200.87#443|TCP</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">Nov 03 14:33:05 nat64 kernel: NAT64 Jool: 2017/11/3 13:33:5 (GMT) - Forgot 2a02:999:1337:1337:3c75:4fdc:8b1e:64c#53259 to 192.168.23.50#64231 (TCP)</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">Nov 03 14:33:05 nat64 kernel: NAT64 Jool: 2017/11/3 13:33:5 (GMT) - Forgot session 2a02:999:1337:1337:3c75:4fdc:8b1e:64c#53260|64:ff9b::57ec:c857#443|192.168.23.50#64234|87.236.200.87#443|TCP</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-size: 11pt; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #999999; font-family: "courier new" , "courier" , monospace;">Nov 03 14:33:05 nat64 kernel: NAT64 Jool: 2017/11/3 13:33:5 (GMT) - Forgot 2a02:999:1337:1337:3c75:4fdc:8b1e:64c#53260 to 192.168.23.50#64234 (TCP)</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 14pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">All is fine...</span></span></h3>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">I start browsing, reading mail… and you know what? Everything just works(™). As mentioned earlier, in my first attempt the performance was horrible but after disabling offloads on my VM host this problem is gone. Browsing is fast and I don't notice any difference between IPv6 and IPv4-only websites. I'm testing video streaming sites as well, no issues. My roomie tries out her Office VPN, citrix, Skype calls , again, no issues there even though stuff get's NATed.</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">The only thing I notice is that I can't log in to my router web GUI over IPv6 ("Unable to load router configuration") - but this is a internal Problem in my LAN and would be fixable as well. </span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 14pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">… until you want to play a game</span></span></h3>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Oh boy. Before I started the experiment I imagined that there might be some issues with games. But it's even worse than I thought. First of all, GeForce Experience tells me that there is a new driver available. But it just can't download it ("Unable to connect to NVIDIA").</span><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> Well, no surprise there, this NVIDIA piece of s...oftware hasn't been a shining knight of bug freeness anyway. I can still download the drivers from the website at least.</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Let's start Steam.</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;"><br /></span></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw8zDh-SfDPsjjZkwYPN_oP9PyjGmi5iqjvtdtK0Hqr8wNQECl4zRDVMZpl_FGdKfQ_ciDjMRVl5b-0ObpOERaq_sEMjmnmJmfUigUVhco4PPq2ZWuMuRt8-xptFbYw8JIIvnFy87BwO-1/s1600/steam.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="215" data-original-width="412" height="103" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw8zDh-SfDPsjjZkwYPN_oP9PyjGmi5iqjvtdtK0Hqr8wNQECl4zRDVMZpl_FGdKfQ_ciDjMRVl5b-0ObpOERaq_sEMjmnmJmfUigUVhco4PPq2ZWuMuRt8-xptFbYw8JIIvnFy87BwO-1/s200/steam.png" width="200" /></a></span></span></div>
</div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">So.. yeah, that doesn't look so great. Offline mode it is. Quick google search shows <a href="https://github.com/ValveSoftware/steam-for-linux/issues/3372" target="_blank">this bug has been reported 4 years ago already</a> (DNS people: check by whom ;-) ). The report is for steam on Linux, but Windows has the same issue. </span></span><br />
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;"><br /></span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The Ubisoft Launcher is not better. ("A Ubisoft service is not available at the moment")</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">) Again, I can start Assassins Creed Origins in offline mode, so there's at least that.</span></span><br />
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;"><br /></span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">How about Blizzard? The battle.net client starts fine, but can't update games. Overwatch does not even start ("unable to locate resources") </span><span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, Hearthstone makes it at least to the main menu but you can't enter a game.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBmODDoBLTa55zEBR1goLlYs4-gqzGT20qKT-8lplOiHxE30MjyQCVJkfZwsWooL2BvH2c8AJcTs2zhZMdIB01VvFZC3V4N06ajRA2Vu04P115XsDyOwxrl1q09s1_Hd3AIVmpj1KwkRcx/s1600/update.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="532" data-original-width="784" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBmODDoBLTa55zEBR1goLlYs4-gqzGT20qKT-8lplOiHxE30MjyQCVJkfZwsWooL2BvH2c8AJcTs2zhZMdIB01VvFZC3V4N06ajRA2Vu04P115XsDyOwxrl1q09s1_Hd3AIVmpj1KwkRcx/s200/update.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfDmpAGnKsDyHg2XiiP-xrCSr4JxNcOXNjdDmEk1CDIxXs6jNu_KZWerckrKZeIkgEcJtYqnKFDTQBC1mnh34jRB4P2zndU3y_ivWOFsqIECk-1yHotcXMIn1Pe-Dby6Boi49jX1UhVRdE/s1600/hearthstone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="858" data-original-width="1099" height="155" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfDmpAGnKsDyHg2XiiP-xrCSr4JxNcOXNjdDmEk1CDIxXs6jNu_KZWerckrKZeIkgEcJtYqnKFDTQBC1mnh34jRB4P2zndU3y_ivWOFsqIECk-1yHotcXMIn1Pe-Dby6Boi49jX1UhVRdE/s200/hearthstone.png" width="200" /></a></div>
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5YtcBQ3OPTVK0qW7YRQrJLf1IyifSBSX_nejQYgqGyG6qDi-wszBSpvc-qA4XtH2PSJTnYvTPd1yLnHPfn_QrMNGSWWzFTIOR2Cw4bxb7tlGex4a3cnfLUBuYfDKuopRFLlopvv-HjJF1/s1600/epiclauncher.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="544" data-original-width="1401" height="77" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5YtcBQ3OPTVK0qW7YRQrJLf1IyifSBSX_nejQYgqGyG6qDi-wszBSpvc-qA4XtH2PSJTnYvTPd1yLnHPfn_QrMNGSWWzFTIOR2Cw4bxb7tlGex4a3cnfLUBuYfDKuopRFLlopvv-HjJF1/s200/epiclauncher.png" width="200" /></a><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">The Epic games launcher started fine the first time and Unreal Tournament can be fired up as well. It doesn't find any online games though. I re-enabled IPv4 quickly to test if it finds games then (it does), and disabled IPv4 again. After that, the Epic Launcher showed an Error. A little later it worked again.</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5aMDNMnwzN72Sid_ooH47Z513xYL025ittEAqfiPBFZXxZU1vUj9u5sam-_EOsCUaRiwFslovYRSPlwpkvFcK3MEXpEOWejlCdKQVNaMOo1KmwhdHqawWrV7HQIp477WzUrRkdqfgDEXz/s1600/Kappa.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="512" data-original-width="512" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5aMDNMnwzN72Sid_ooH47Z513xYL025ittEAqfiPBFZXxZU1vUj9u5sam-_EOsCUaRiwFslovYRSPlwpkvFcK3MEXpEOWejlCdKQVNaMOo1KmwhdHqawWrV7HQIp477WzUrRkdqfgDEXz/s200/Kappa.png" width="200" /></a><span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">The Origin Client sometimes works and sometimes does not ("You are offline"). Battlefield 1 can be started, but only the offline campaign is available.</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">At that point I gave up - IPv6 only and gaming do not match (yet). Well, at least I can do some backseat gaming on twitch.tv (works fine in the browser but seems to have problems displaying ads in the desktop app - which would be nice, but it also thinks the ad is showing and it mutes the stream for eternity.)</span></span><br />
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;"><br /></span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<h2>
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Conclusion</span></span></h2>
</div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">If it weren't for my addiction to occasionally harassing pixels , going IPv6 only in my network would be no problem. NAT64 and DNS64 works fine and is pretty easy to set up (assuming there is an existing dual stack setup).</span></span></div>
<b style="font-weight: normal;"><span style="color: #eeeeee;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; font-family: "arial"; font-size: 11pt; font-style: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="color: #eeeeee;">Dear game developers: You need to act now and start supporting IPv6. Forums are already starting to fill with complaints of people who can't play multiplayer games because they're behind CGNAT , and this will only get worse. This applies to both support on gaming consoles (No IPv6 support in the SWITCH? Nintendo, are you for real?) and for game service hosting. </span></span></div>
<br /></div>
gryphiushttp://www.blogger.com/profile/11414762752579931892noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-61807183597310361282017-08-11T00:00:00.000+08:002017-08-11T00:00:40.110+08:00how to fix gnome online account timeoutRecently I have a power failure and it caused network stability. I have no idea how it affected gnome online service that the previous configured service keep saying "Timeout was reached". This is very annoying and frustrating because the email configured in mail client, that is evolution also failed to get email.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFR-fBbktMbgM2F8D7wwbPjdkdpGwUj_3A3-nMvK9IeyfhWw9-9TIJbLmV0oFxJdjSmEsfpvJNGOICq0_sfTqIBQPaeMoOfzTMbqgGvUnFrUNsRYBoE48BQgH3a_sroiNidIkhkPXUeX_V/s1600/Screenshot+from+2017-07-20+21-55-10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="653" data-original-width="930" height="448" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFR-fBbktMbgM2F8D7wwbPjdkdpGwUj_3A3-nMvK9IeyfhWw9-9TIJbLmV0oFxJdjSmEsfpvJNGOICq0_sfTqIBQPaeMoOfzTMbqgGvUnFrUNsRYBoE48BQgH3a_sroiNidIkhkPXUeX_V/s640/Screenshot+from+2017-07-20+21-55-10.png" width="640" /></a></div>
<br />
<br />
I remembered I did many things to revert the situation I encountered. This include<br />
* reboot<br />
* reconfigure mail account in mail client Evolution.<br />
* delete and re-add google account in gnome online account.<br />
* make sure the gmail settings allow non secure application access, that is , not the two steps process.<br />
<br />
All these were unable to revert or fix the situation and it is very worrying and frustrating because it impacted my work. I google around and many suggest to kill the service and start it back. The service mentioned is goa-daemon.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN5HlYXeXWT8eDWDnQMnZ8akawU5nqeGw1TFe8C8R9GClTFVgIRQrZe-UQpbU6AN2qknQAwO-8cQwYM5Dt_QCI9QdpkDVVijL8jstVn_1WbLLIDLNtKXyIjFvgUM1x4c1JOhS25CTY4FMk/s1600/Screenshot+from+2017-07-20+21-56-55.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="795" data-original-width="1600" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN5HlYXeXWT8eDWDnQMnZ8akawU5nqeGw1TFe8C8R9GClTFVgIRQrZe-UQpbU6AN2qknQAwO-8cQwYM5Dt_QCI9QdpkDVVijL8jstVn_1WbLLIDLNtKXyIjFvgUM1x4c1JOhS25CTY4FMk/s640/Screenshot+from+2017-07-20+21-56-55.png" width="640" /></a></div>
<br />
<br />
But this also does not work. Finally I managed to get it work. First, make sure the hostname resolution work and it work quick. The only fastest way is to have your own DNS work locally.<br />
<br />
Second is remove the gnome oauth for your email password. How? for gnome, it is very easy , launch seahorse and locate your email configured. In this case, it is my gmail. Then remove the entry.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcL4ZGRc8PEZ9n8CjT3HEg_xGBVZldbMF45aBC9AqqGNPVlOiYqaMnCJa5SF6uum7lhPmLTNFtrRhyphenhyphen39vBgoIl_OuDgyzJ8URlSOwBr7eFbu7LL5o6qkXDztsHa2sCHczfoa1FoWqt4ELZ/s1600/Screenshot+from+2017-08-08+23-16-46.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="837" data-original-width="1600" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcL4ZGRc8PEZ9n8CjT3HEg_xGBVZldbMF45aBC9AqqGNPVlOiYqaMnCJa5SF6uum7lhPmLTNFtrRhyphenhyphen39vBgoIl_OuDgyzJ8URlSOwBr7eFbu7LL5o6qkXDztsHa2sCHczfoa1FoWqt4ELZ/s640/Screenshot+from+2017-08-08+23-16-46.png" width="640" /></a></div>
<br />
<br />
Now, relaunch your email client and if you have configured email, it should prompt again for password. It works again for me and I thought this help you too.<br />
<br />
<br />
<br />
<br />Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-8843224778264867882017-07-30T00:00:00.000+08:002017-07-30T00:00:01.100+08:00First try out of DateTieredCompactionStrategyDateTieredCompactionStrategy was introduced during cassandra 2.0 and it is meant for time series data, like monitoring temperature over time, instrumenting devices metrics over time. I tested this using cassandra 3.0.11 and it works really solid.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cqlsh:jw_schema1> desc table temperature;
CREATE TABLE jw_schema1.temperature (
weatherstation_id text,
event_time timestamp,
temperature text,
PRIMARY KEY (weatherstation_id, event_time)
) WITH CLUSTERING ORDER BY (event_time ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
AND comment = ''
AND compaction = {'base_time_seconds': '3600', 'class': 'org.apache.cassandra.db.compaction.DateTieredCompactionStrategy', 'max_sstable_age_days': '365', 'max_threshold': '32', 'min_threshold': '4', 'timestamp_resolution': 'SECONDS'}
AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND crc_check_chance = 1.0
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99PERCENTILE';
</code></pre>
<br />
above is the table definition. Then I added some sample data<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cqlsh:jw_schema1> insert into temperature (weatherstation_id, event_time, temperature) values ('1', '2017-03-07 20:38:20', '38');
cqlsh:jw_schema1> select * from temperature;
weatherstation_id | event_time | temperature
-------------------+--------------------------+-------------
1 | 2017-03-06 16:00:00+0000 | 37
1 | 2017-03-07 12:38:20+0000 | 38
(2 rows)
cqlsh:jw_schema1> select * from temperature;
weatherstation_id | event_time | temperature
-------------------+--------------------------+-------------
1 | 2017-03-06 16:00:00+0000 | 37
1 | 2017-03-07 12:38:20+0000 | 38
(2 rows)
cqlsh:jw_schema1> insert into temperature (weatherstation_id, event_time, temperature) values ('1', '2017-03-07 20:39:45', '36');
cqlsh:jw_schema1> select * from temperature;
weatherstation_id | event_time | temperature
-------------------+--------------------------+-------------
1 | 2017-03-06 16:00:00+0000 | 37
1 | 2017-03-07 12:38:20+0000 | 38
1 | 2017-03-07 12:39:45+0000 | 36
(3 rows)
cqlsh:jw_schema1> select * from temperature;
weatherstation_id | event_time | temperature
-------------------+--------------------------+-------------
1 | 2017-03-06 16:00:00+0000 | 37
1 | 2017-03-07 12:38:20+0000 | 38
1 | 2017-03-07 12:39:45+0000 | 36
(3 rows)
</code></pre>
<br />
and went on a little further by altering the compaction parameters<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;">
cqlsh:jw_schema1> ALTER TABLE jw_schema1.temperature WITH compaction = { 'class': 'org.apache.cassandra.db.compaction.DateTieredCompactionStrategy', 'timestamp_resolution': 'MICROSECONDS', 'base_time_seconds': '10', 'max_sstable_age_days': '1' };
cqlsh:jw_schema1> desc table jw_schema1.temperature;
CREATE TABLE jw_schema1.temperature (
weatherstation_id text,
event_time timestamp,
temperature text,
PRIMARY KEY (weatherstation_id, event_time)
) WITH CLUSTERING ORDER BY (event_time ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
AND comment = ''
AND compaction = {'base_time_seconds': '10', 'class': 'org.apache.cassandra.db.compaction.DateTieredCompactionStrategy', 'max_sstable_age_days': '1', 'max_threshold': '32', 'min_threshold': '4', 'timestamp_resolution': 'MICROSECONDS'}
AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND crc_check_chance = 1.0
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99PERCENTILE';
</code></pre>
<br />
and I trigger nodetool flush and compact the table, work solid, no exception nor error<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:/var/lib/cassandra/data/jw_schema1$ find temperature-0049c010ff6211e6b4aa1d269322be24/
temperature-0049c010ff6211e6b4aa1d269322be24/
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Statistics.db
temperature-0049c010ff6211e6b4aa1d269322be24/backups
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-CompressionInfo.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-TOC.txt
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Digest.crc32
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Index.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Filter.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Data.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Summary.db
user@localhost:/var/lib/cassandra/data/jw_schema1$
user@localhost:/var/lib/cassandra/data/jw_schema1$
user@localhost:/var/lib/cassandra/data/jw_schema1$ find temperature-0049c010ff6211e6b4aa1d269322be24/
temperature-0049c010ff6211e6b4aa1d269322be24/
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Statistics.db
temperature-0049c010ff6211e6b4aa1d269322be24/backups
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-CompressionInfo.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-TOC.txt
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Digest.crc32
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Index.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Filter.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Data.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Summary.db
user@localhost:/var/lib/cassandra/data/jw_schema1$ nodetool -h localhost flush jw_schema1 temperature
user@localhost:/var/lib/cassandra/data/jw_schema1$ find temperature-0049c010ff6211e6b4aa1d269322be24/
temperature-0049c010ff6211e6b4aa1d269322be24/
temperature-0049c010ff6211e6b4aa1d269322be24/mc-10-big-CompressionInfo.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-10-big-Summary.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-10-big-Data.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-10-big-Filter.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Statistics.db
temperature-0049c010ff6211e6b4aa1d269322be24/backups
temperature-0049c010ff6211e6b4aa1d269322be24/mc-10-big-Statistics.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-10-big-Index.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-CompressionInfo.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-10-big-Digest.crc32
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-TOC.txt
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Digest.crc32
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Index.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Filter.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Data.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-10-big-TOC.txt
temperature-0049c010ff6211e6b4aa1d269322be24/mc-9-big-Summary.db
user@localhost:/var/lib/cassandra/data/jw_schema1$ nodetool -h localhost compact jw_schema1 temperature
user@localhost:/var/lib/cassandra/data/jw_schema1$ find temperature-0049c010ff6211e6b4aa1d269322be24/
temperature-0049c010ff6211e6b4aa1d269322be24/
temperature-0049c010ff6211e6b4aa1d269322be24/mc-11-big-Data.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-11-big-Statistics.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-11-big-Digest.crc32
temperature-0049c010ff6211e6b4aa1d269322be24/backups
temperature-0049c010ff6211e6b4aa1d269322be24/mc-11-big-TOC.txt
temperature-0049c010ff6211e6b4aa1d269322be24/mc-11-big-Summary.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-11-big-Filter.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-11-big-Index.db
temperature-0049c010ff6211e6b4aa1d269322be24/mc-11-big-CompressionInfo.db
</code></pre>
<br />
then I inserted a ttl value to the table , flush and compact, again, no exception nor error.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> cqlsh:jw_schema1> insert into temperature (weatherstation_id, event_time, temperature) values ('1', '2017-03-07 20:54:59', '37') using ttl 5;
cqlsh:jw_schema1> select * from temperature;
weatherstation_id | event_time | temperature
-------------------+--------------------------+-------------
1 | 2017-03-06 16:00:00+0000 | 37
1 | 2017-03-07 12:38:20+0000 | 38
1 | 2017-03-07 12:39:45+0000 | 36
1 | 2017-03-07 12:52:59+0000 | 37
1 | 2017-03-07 12:54:59+0000 | 37
(5 rows)
cqlsh:jw_schema1>
cqlsh:jw_schema1> select * from temperature;
weatherstation_id | event_time | temperature
-------------------+--------------------------+-------------
1 | 2017-03-06 16:00:00+0000 | 37
1 | 2017-03-07 12:38:20+0000 | 38
1 | 2017-03-07 12:39:45+0000 | 36
1 | 2017-03-07 12:52:59+0000 | 37
(4 rows)
cqlsh:jw_schema1> select * from temperature;
weatherstation_id | event_time | temperature
-------------------+--------------------------+-------------
1 | 2017-03-06 16:00:00+0000 | 37
1 | 2017-03-07 12:38:20+0000 | 38
1 | 2017-03-07 12:39:45+0000 | 36
1 | 2017-03-07 12:52:59+0000 | 37
</code></pre>
<br />
that's it , if you plan to use this, better don't as cassandra 3.8 has deprecated this in favor of <b><i>TimeWindowCompactionStrategy</i></b>.<br />
<br />
<br />
<br />
<br />Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-34149014434331922312017-07-29T00:00:00.000+08:002017-07-29T00:00:10.831+08:00Reading into Apache Cassandra AntiEntropyService<div class="tr_bq">
Today we will take a look at apache cassandra 1.2.19 <b>AntiEntropyService</b> class. First, let's get the <a href="https://github.com/apache/cassandra/blob/cassandra-1.2.19/src/java/org/apache/cassandra/service/AntiEntropyService.java">source code of this class from github</a>.</div>
<br />
The class javadoc written this class, very well documented<br />
<br />
<blockquote>
AntiEntropyService encapsulates "validating" (hashing) individual column families,<br />
exchanging MerkleTrees with remote nodes via a TreeRequest/Response conversation,<br />
and then triggering repairs for disagreeing ranges.<br />
Every Tree conversation has an 'initiator', where valid trees are sent after generation<br />
and where the local and remote tree will rendezvous in rendezvous(cf, endpoint, tree).<br />
Once the trees rendezvous, a Differencer is executed and the service can trigger repairs<br />
for disagreeing ranges.<br />
Tree comparison and repair triggering occur in the single threaded Stage.ANTIENTROPY.<br />
The steps taken to enact a repair are as follows:<br />
1. A major compaction is triggered via nodeprobe:<br />
Nodeprobe sends TreeRequest messages to all neighbors of the target node: when a node<br />
receives a TreeRequest, it will perform a readonly compaction to immediately validate<br />
the column family.<br />
2. The compaction process validates the column family by:<br />
Calling Validator.prepare(), which samples the column family to determine key distribution,<br />
Calling Validator.add() in order for every row in the column family,<br />
Calling Validator.complete() to indicate that all rows have been added.<br />
Calling complete() indicates that a valid MerkleTree has been created for the column family.<br />
The valid tree is returned to the requesting node via a TreeResponse.<br />
3. When a node receives a TreeResponse, it passes the tree to rendezvous(), which checks for trees to<br />
rendezvous with / compare to:<br />
If the tree is local, it is cached, and compared to any trees that were received from neighbors.<br />
If the tree is remote, it is immediately compared to a local tree if one is cached. Otherwise,<br />
the remote tree is stored until a local tree can be generated.<br />
A Differencer object is enqueued for each comparison.<br />
4. Differencers are executed in Stage.ANTIENTROPY, to compare the two trees, and perform repair via the streaming api.</blockquote>
That definitely a lot of operations involve in AntiEntropyService. Let's first identify all the classes<br />
<br />
<ul>
<li>Validator</li>
<li>ValidatorSerializer</li>
<li>TreeRequestVerbHandler</li>
<li>TreeResponseVerbHandler</li>
<li>CFPair</li>
<li>TreeRequest</li>
<li>TreeRequestSerializer</li>
<li>RepairSession</li>
<li>RepairJob</li>
<li>Differencer</li>
<li>TreeResponse</li>
<li>RepairFuture</li>
<li>RequestCoordinator</li>
<li>Order</li>
<li>SequentialOrder</li>
<li>ParallelOrder</li>
</ul>
<br />
There are 16 classes in total and we can see that the classes is what the javadoc described above.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> AntiEntropyService is a singleton service with four status, started, session_success, session_failed and finished. An important method submitRepairSession
/**
* Requests repairs for the given table and column families, and blocks until all repairs have been completed.
*
* @return Future for asynchronous call or null if there is no need to repair
*/
public RepairFuture submitRepairSession(Range<Token> range, String tablename, boolean isSequential, boolean isLocal, String... cfnames)
{
RepairSession session = new RepairSession(range, tablename, isSequential, isLocal, cfnames);
if (session.endpoints.isEmpty())
return null;
RepairFuture futureTask = session.getFuture();
executor.execute(futureTask);
return futureTask;
}
</code></pre>
<br />
where a new repair session is created and run by the executor. Another static method getNeighbors() where it gets neighbors that share the range.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> /**
* Return all of the neighbors with whom we share the provided range.
*
* @param table table to repair
* @param toRepair token to repair
* @param isLocal need to use only nodes from local datacenter
*
* @return neighbors with whom we share the provided range
*/
static Set<InetAddress> getNeighbors(String table, Range<Token> toRepair, boolean isLocal)
{
StorageService ss = StorageService.instance;
Map<Range<Token>, List<InetAddress>> replicaSets = ss.getRangeToAddressMap(table);
Range<Token> rangeSuperSet = null;
for (Range<Token> range : ss.getLocalRanges(table))
{
if (range.contains(toRepair))
{
rangeSuperSet = range;
break;
}
else if (range.intersects(toRepair))
{
throw new IllegalArgumentException("Requested range intersects a local range but is not fully contained in one; this would lead to imprecise repair");
}
}
if (rangeSuperSet == null || !replicaSets.containsKey(rangeSuperSet))
return Collections.emptySet();
Set<InetAddress> neighbors = new HashSet<InetAddress>(replicaSets.get(rangeSuperSet));
neighbors.remove(FBUtilities.getBroadcastAddress());
if (isLocal)
{
TokenMetadata.Topology topology = ss.getTokenMetadata().cloneOnlyTokenMap().getTopology();
Set<InetAddress> localEndpoints = Sets.newHashSet(topology.getDatacenterEndpoints().get(DatabaseDescriptor.getLocalDataCenter()));
return Sets.intersection(neighbors, localEndpoints);
}
return neighbors;
}
</code></pre>
<br />
Next, a static <i>Validator</i> class implement Runnable interface has the following javadoc description<br />
<blockquote class="tr_bq">
<br />
A Strategy to handle building and validating a merkle tree for a column family.<br />
Lifecycle:<br />
1. prepare() - Initialize tree with samples.<br />
2. add() - 0 or more times, to add hashes to the tree.<br />
3. complete() - Enqueues any operations that were blocked waiting for a valid tree.</blockquote>
And the important three methods are<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> public void prepare(ColumnFamilyStore cfs)
{
if (!tree.partitioner().preservesOrder())
{
// You can't beat an even tree distribution for md5
tree.init();
}
else
{
List<DecoratedKey> keys = new ArrayList<DecoratedKey>();
for (DecoratedKey sample : cfs.keySamples(request.range))
{
assert request.range.contains(sample.token): "Token " + sample.token + " is not within range " + request.range;
keys.add(sample);
}
if (keys.isEmpty())
{
// use an even tree distribution
tree.init();
}
else
{
int numkeys = keys.size();
Random random = new Random();
// sample the column family using random keys from the index
while (true)
{
DecoratedKey dk = keys.get(random.nextInt(numkeys));
if (!tree.split(dk.token))
break;
}
}
}
logger.debug("Prepared AEService tree of size " + tree.size() + " for " + request);
ranges = tree.invalids();
}
/**
* Called (in order) for every row present in the CF.
* Hashes the row, and adds it to the tree being built.
*
* There are four possible cases:
* 1. Token is greater than range.right (we haven't generated a range for it yet),
* 2. Token is less than/equal to range.left (the range was valid),
* 3. Token is contained in the range (the range is in progress),
* 4. No more invalid ranges exist.
*
* TODO: Because we only validate completely empty trees at the moment, we
* do not bother dealing with case 2 and case 4 should result in an error.
*
* Additionally, there is a special case for the minimum token, because
* although it sorts first, it is contained in the last possible range.
*
* @param row The row.
*/
public void add(AbstractCompactedRow row)
{
assert request.range.contains(row.key.token) : row.key.token + " is not contained in " + request.range;
assert lastKey == null || lastKey.compareTo(row.key) < 0
: "row " + row.key + " received out of order wrt " + lastKey;
lastKey = row.key;
if (range == null)
range = ranges.next();
// generate new ranges as long as case 1 is true
while (!range.contains(row.key.token))
{
// add the empty hash, and move to the next range
range.addHash(EMPTY_ROW);
range = ranges.next();
}
// case 3 must be true: mix in the hashed row
range.addHash(rowHash(row));
}
private MerkleTree.RowHash rowHash(AbstractCompactedRow row)
{
validated++;
// MerkleTree uses XOR internally, so we want lots of output bits here
MessageDigest digest = FBUtilities.newMessageDigest("SHA-256");
row.update(digest);
return new MerkleTree.RowHash(row.key.token, digest.digest());
}
/**
* Registers the newly created tree for rendezvous in Stage.ANTIENTROPY.
*/
public void complete()
{
completeTree();
StageManager.getStage(Stage.ANTI_ENTROPY).execute(this);
logger.debug("Validated " + validated + " rows into AEService tree for " + request);
}
</code></pre>
<br />
Then we read that there is a inner static class <b>ValidatorSerializer</b> with two important methods, serialize and deserialize. Mainly serialize (or deserialize) tree request and merkle tree. The next two classes, <b>TreeRequestVerbHandler</b> and <b>TreeResponseVerbHandler</b> which is pretty trivial, both handling request and response from remote nodes.<br />
<br />
Then another simple calss <b>CFPair</b> . Then another important class <b>TreeRequest</b> with method <b><i>createMessage()</i></b>. Same like <b>ValidatorSerializer</b>, <b>TreeRequestSerializer</b> also has two method <i>serialize</i> and <i>deserialize</i>.<br />
<br />
The next class <b>RepairSession</b> which is pretty important, the javadoc written<br />
<br />
<blockquote class="tr_bq">
Triggers repairs with all neighbors for the given table, cfs and range.<br />
Typical lifecycle is: start() then join(). Executed in client threads.</blockquote>
Important method runMayThrow() describe how repair job is perform<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> // we don't care about the return value but care about it throwing exception
public void runMayThrow() throws Exception
{
logger.info(String.format("[repair #%s] new session: will sync %s on range %s for %s.%s", getName(), repairedNodes(), range, tablename, Arrays.toString(cfnames)));
if (endpoints.isEmpty())
{
differencingDone.signalAll();
logger.info(String.format("[repair #%s] No neighbors to repair with on range %s: session completed", getName(), range));
return;
}
// Checking all nodes are live
for (InetAddress endpoint : endpoints)
{
if (!FailureDetector.instance.isAlive(endpoint))
{
String message = String.format("Cannot proceed on repair because a neighbor (%s) is dead: session failed", endpoint);
differencingDone.signalAll();
logger.error(String.format("[repair #%s] ", getName()) + message);
throw new IOException(message);
}
if (MessagingService.instance().getVersion(endpoint) < MessagingService.VERSION_11 && isSequential)
{
logger.info(String.format("[repair #%s] Cannot repair using snapshots as node %s is pre-1.1", getName(), endpoint));
return;
}
}
AntiEntropyService.instance.sessions.put(getName(), this);
Gossiper.instance.register(this);
FailureDetector.instance.registerFailureDetectionEventListener(this);
try
{
// Create and queue a RepairJob for each column family
for (String cfname : cfnames)
{
RepairJob job = new RepairJob(cfname);
jobs.offer(job);
activeJobs.put(cfname, job);
}
jobs.peek().sendTreeRequests();
// block whatever thread started this session until all requests have been returned:
// if this thread dies, the session will still complete in the background
completed.await();
if (exception == null)
{
logger.info(String.format("[repair #%s] session completed successfully", getName()));
}
else
{
logger.error(String.format("[repair #%s] session completed with the following error", getName()), exception);
throw exception;
}
}
catch (InterruptedException e)
{
throw new RuntimeException("Interrupted while waiting for repair.");
}
finally
{
// mark this session as terminated
terminate();
FailureDetector.instance.unregisterFailureDetectionEventListener(this);
Gossiper.instance.unregister(this);
AntiEntropyService.instance.sessions.remove(getName());
}
}
</code></pre>
<br />
The next two classes nested of RepairSession are RepairJob and Differencer. Which pretty much details to calculate the difference of trees and the preform a repair. The remaining tasks are pretty trivial.<br />
<div>
<br /></div>
Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-46584627398861724782017-07-28T00:00:00.000+08:002017-07-28T00:00:07.306+08:00AbstractStreamSession convict stream error Today we will take a look at the following error in <b>apache cassandra 1.2.19</b><br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> ERROR [GossipStage:1] 2016-09-21 19:38:54,486 AbstractStreamSession.java (line 108) Stream failed because /1.2.3.4 died or was restarted/removed (streams may still be active in background, but further streams won't be started)
</code></pre>
<br />
I was not sure how serious is this but I've taken a look into this class to further determine the degree of seriousness of this error. Let's jump right into the class <a href="https://github.com/apache/cassandra/blob/cassandra-1.2.19/src/java/org/apache/cassandra/streaming/AbstractStreamSession.java">AbstractStreamSession</a>.<br />
<br />
<ul>
<li>it is an abstract class </li>
<li>subclass of <b>StreamInSession</b> and <b>StreamOutSession</b></li>
<li>when <i>close(boolean)</i> method is called, gossiper unregistered, and failure detector is also unregistered. </li>
</ul>
<div>
In the method <b><i>convict(InetAddress, double)</i></b>, snippet below:</div>
<div>
<br /></div>
<div>
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> public void convict(InetAddress endpoint, double phi)
{
if (!endpoint.equals(getHost()))
return;
// We want a higher confidence in the failure detection than usual because failing a streaming wrongly has a high cost.
if (phi < 100 * DatabaseDescriptor.getPhiConvictThreshold())
return;
logger.error("Stream failed because {} died or was restarted/removed (streams may still be active "
+ "in background, but further streams won't be started)", endpoint);
close(false);
}
</code></pre>
<div>
<br /></div>
<div>
<br />
We see that the <b>phi value is greater than 100 * DatabaseDescriptor.getPhiConvictThreshold()</b> and thus, this is consider an error for the endpoint and a further close method with success as a false is called.<br />
<br />
Guess this is not a serious problem as the close method is called and if the session is persist, a restart of cassandra should be sufficient to restream a new session.</div>
<div>
<br /></div>
<div>
<br /></div>
<br />
<br />
<br /></div>
Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-38156312292004546022017-07-16T00:00:00.000+08:002017-07-16T00:00:25.154+08:00Explore into Luke a GUI tool for introspecting Lucene indexReading into elasticsearch material and I came across an interesting opensource project known as Luke. I took a look today and explore what luke is. So what is <a href="https://github.com/DmitryKey/luke/">luke</a>?<br />
<br />
<div>
<div>
<i>Luke is the GUI tool for introspecting your Lucene / Solr / Elasticsearch index. It allows:</i></div>
<div>
<ul>
<li><i>Viewing your documents and analyzing their field contents (for stored fields)</i></li>
<li><i>Searching in the index</i></li>
<li><i>Performing index maintenance: index sanity checking, index optimization (take a backup before running this!)</i></li>
<li><i>Reading index from hdfs</i></li>
<li><i>Exporting the index or portion of it into an xml format</i></li>
<li><i>Testing your custom Lucene analyzers</i></li>
</ul>
</div>
</div>
<div>
If you have been administrating or develop app using lucene related, you should know how search efficiency matter and with another great tool like luke, this will enhance your understanding on lucene. Okay, enough talk, let's download the source. You can <a href="https://github.com/DmitryKey/luke/">download it here</a> and then uncompress luke.</div>
<div>
<br /></div>
<div>
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~$ unzip luke-master.zip
Archive: luke-master.zip
9a08b6d558b3aa2bc8a45cfe8e0a5093b28475fc
creating: luke-master/
extracting: luke-master/.gitignore
inflating: luke-master/CHANGES.txt
inflating: luke-master/README.md
inflating: luke-master/build.xml
creating: luke-master/docs/
creating: luke-master/docs/img/
extracting: luke-master/docs/img/ApacheCon_Luke_lightning_talk.png
inflating: luke-master/docs/img/LukeExportIndex.png
inflating: luke-master/docs/img/LukeTermVector.png
inflating: luke-master/luke.bat
inflating: luke-master/luke.gif
inflating: luke-master/luke.sh
inflating: luke-master/pom.xml
creating: luke-master/src/
creating: luke-master/src/main/
creating: luke-master/src/main/assembly/
inflating: luke-master/src/main/assembly/assembly.xml
creating: luke-master/src/main/java/
creating: luke-master/src/main/java/org/
creating: luke-master/src/main/java/org/apache/
creating: luke-master/src/main/java/org/apache/lucene/
creating: luke-master/src/main/java/org/apache/lucene/index/
inflating: luke-master/src/main/java/org/apache/lucene/index/IndexGate.java
creating: luke-master/src/main/java/org/getopt/
creating: luke-master/src/main/java/org/getopt/luke/
inflating: luke-master/src/main/java/org/getopt/luke/AccessibleHitCollector.java
inflating: luke-master/src/main/java/org/getopt/luke/AccessibleTopHitCollector.java
inflating: luke-master/src/main/java/org/getopt/luke/AllHitsCollector.java
inflating: luke-master/src/main/java/org/getopt/luke/BrowserLauncher.java
inflating: luke-master/src/main/java/org/getopt/luke/ClassFinder.java
inflating: luke-master/src/main/java/org/getopt/luke/CountLimitedHitCollector.java
inflating: luke-master/src/main/java/org/getopt/luke/DocReconstructor.java
inflating: luke-master/src/main/java/org/getopt/luke/FieldTermCount.java
inflating: luke-master/src/main/java/org/getopt/luke/GrowableStringArray.java
inflating: luke-master/src/main/java/org/getopt/luke/HighFreqTerms.java
inflating: luke-master/src/main/java/org/getopt/luke/IndexInfo.java
inflating: luke-master/src/main/java/org/getopt/luke/IntPair.java
inflating: luke-master/src/main/java/org/getopt/luke/IntervalLimitedCollector.java
inflating: luke-master/src/main/java/org/getopt/luke/KeepAllIndexDeletionPolicy.java
inflating: luke-master/src/main/java/org/getopt/luke/KeepLastIndexDeletionPolicy.java
inflating: luke-master/src/main/java/org/getopt/luke/LimitedException.java
inflating: luke-master/src/main/java/org/getopt/luke/LimitedHitCollector.java
inflating: luke-master/src/main/java/org/getopt/luke/Luke.java
inflating: luke-master/src/main/java/org/getopt/luke/LukePlugin.java
inflating: luke-master/src/main/java/org/getopt/luke/NoScoringScorer.java
inflating: luke-master/src/main/java/org/getopt/luke/PanelPrintWriter.java
inflating: luke-master/src/main/java/org/getopt/luke/Prefs.java
inflating: luke-master/src/main/java/org/getopt/luke/Progress.java
inflating: luke-master/src/main/java/org/getopt/luke/ProgressNotification.java
inflating: luke-master/src/main/java/org/getopt/luke/Ranges.java
inflating: luke-master/src/main/java/org/getopt/luke/SlowThread.java
inflating: luke-master/src/main/java/org/getopt/luke/TermStats.java
inflating: luke-master/src/main/java/org/getopt/luke/TermVectorMapper.java
inflating: luke-master/src/main/java/org/getopt/luke/Util.java
inflating: luke-master/src/main/java/org/getopt/luke/XMLExporter.java
creating: luke-master/src/main/java/org/getopt/luke/decoders/
inflating: luke-master/src/main/java/org/getopt/luke/decoders/BinaryDecoder.java
inflating: luke-master/src/main/java/org/getopt/luke/decoders/DateDecoder.java
inflating: luke-master/src/main/java/org/getopt/luke/decoders/Decoder.java
inflating: luke-master/src/main/java/org/getopt/luke/decoders/NumIntDecoder.java
inflating: luke-master/src/main/java/org/getopt/luke/decoders/NumLongDecoder.java
inflating: luke-master/src/main/java/org/getopt/luke/decoders/SolrDecoder.java
inflating: luke-master/src/main/java/org/getopt/luke/decoders/StringDecoder.java
creating: luke-master/src/main/java/org/getopt/luke/plugins/
inflating: luke-master/src/main/java/org/getopt/luke/plugins/AnalyzerToolPlugin.java
inflating: luke-master/src/main/java/org/getopt/luke/plugins/FsDirectory.java
inflating: luke-master/src/main/java/org/getopt/luke/plugins/HadoopPlugin.java
inflating: luke-master/src/main/java/org/getopt/luke/plugins/IOReporter.java
inflating: luke-master/src/main/java/org/getopt/luke/plugins/ScriptingPlugin.java
inflating: luke-master/src/main/java/org/getopt/luke/plugins/Shell.java
inflating: luke-master/src/main/java/org/getopt/luke/plugins/SimilarityDesignerPlugin.java
inflating: luke-master/src/main/java/org/getopt/luke/plugins/VocabAnalysisPlugin.java
inflating: luke-master/src/main/java/org/getopt/luke/plugins/VocabChart.java
inflating: luke-master/src/main/java/org/getopt/luke/plugins/ZipfAnalysisPlugin.java
creating: luke-master/src/main/java/org/getopt/luke/xmlQuery/
inflating: luke-master/src/main/java/org/getopt/luke/xmlQuery/CoreParserFactory.java
inflating: luke-master/src/main/java/org/getopt/luke/xmlQuery/CorePlusExtensionsParserFactory.java
inflating: luke-master/src/main/java/org/getopt/luke/xmlQuery/XmlQueryParserFactory.java
creating: luke-master/src/main/java/thinlet/
inflating: luke-master/src/main/java/thinlet/FrameLauncher.java
inflating: luke-master/src/main/java/thinlet/Thinlet.java
creating: luke-master/src/main/resources/
inflating: luke-master/src/main/resources/.plugins
creating: luke-master/src/main/resources/img/
inflating: luke-master/src/main/resources/img/close.png
inflating: luke-master/src/main/resources/img/delete.gif
extracting: luke-master/src/main/resources/img/docs.gif
inflating: luke-master/src/main/resources/img/errx.gif
inflating: luke-master/src/main/resources/img/files.gif
inflating: luke-master/src/main/resources/img/info.gif
inflating: luke-master/src/main/resources/img/lucene.gif
inflating: luke-master/src/main/resources/img/luke-big.gif
inflating: luke-master/src/main/resources/img/luke.gif
inflating: luke-master/src/main/resources/img/next.png
inflating: luke-master/src/main/resources/img/open.gif
inflating: luke-master/src/main/resources/img/open2.gif
inflating: luke-master/src/main/resources/img/open3.gif
inflating: luke-master/src/main/resources/img/prev.png
inflating: luke-master/src/main/resources/img/props2.gif
inflating: luke-master/src/main/resources/img/refresh.png
inflating: luke-master/src/main/resources/img/scorers.png
inflating: luke-master/src/main/resources/img/script.gif
inflating: luke-master/src/main/resources/img/search.gif
inflating: luke-master/src/main/resources/img/simil.gif
inflating: luke-master/src/main/resources/img/terms.gif
inflating: luke-master/src/main/resources/img/tools.gif
creating: luke-master/src/main/resources/xml/
inflating: luke-master/src/main/resources/xml/DefaultSimilarity.js
inflating: luke-master/src/main/resources/xml/SampleScript.js
inflating: luke-master/src/main/resources/xml/VerboseSimilarity.js
inflating: luke-master/src/main/resources/xml/WikipediaSimilarity.js
inflating: luke-master/src/main/resources/xml/about.xml
inflating: luke-master/src/main/resources/xml/at-plugin.xml
inflating: luke-master/src/main/resources/xml/checkindex.xml
inflating: luke-master/src/main/resources/xml/cleanup.xml
inflating: luke-master/src/main/resources/xml/commit.xml
inflating: luke-master/src/main/resources/xml/editdoc.xml
inflating: luke-master/src/main/resources/xml/editfield.xml
inflating: luke-master/src/main/resources/xml/error.xml
inflating: luke-master/src/main/resources/xml/explain.xml
inflating: luke-master/src/main/resources/xml/export.xml
inflating: luke-master/src/main/resources/xml/field.xml
inflating: luke-master/src/main/resources/xml/fnorm.xml
inflating: luke-master/src/main/resources/xml/hadoop.xml
inflating: luke-master/src/main/resources/xml/info.xml
inflating: luke-master/src/main/resources/xml/luke.xml
inflating: luke-master/src/main/resources/xml/lukeinit.xml
inflating: luke-master/src/main/resources/xml/optimize.xml
inflating: luke-master/src/main/resources/xml/positions.xml
inflating: luke-master/src/main/resources/xml/progress.xml
inflating: luke-master/src/main/resources/xml/qexplain.xml
inflating: luke-master/src/main/resources/xml/scr-plugin.xml
inflating: luke-master/src/main/resources/xml/sd-plugin.xml
inflating: luke-master/src/main/resources/xml/selfont.xml
inflating: luke-master/src/main/resources/xml/vector.xml
inflating: luke-master/src/main/resources/xml/vocab-plugin.xml
inflating: luke-master/src/main/resources/xml/wait.xml
inflating: luke-master/src/main/resources/xml/zipf-plugin.xml
creating: luke-master/src/test/
creating: luke-master/src/test/java/
creating: luke-master/src/test/java/org.apache.lucene.index/
inflating: luke-master/src/test/java/org.apache.lucene.index/IndexTester.java
user@localhost:~$ cd luke-master/
user@localhost:~/luke-master$ ls
total 68K
drwxr-xr-x 4 user user 4.0K Sep 30 20:42 src
-rw-r--r-- 1 user user 3.6K Sep 30 20:42 README.md
-rwxr-xr-x 1 user user 11K Sep 30 20:42 pom.xml
-rwxr-xr-x 1 user user 691 Sep 30 20:42 luke.sh
-rw-r--r-- 1 user user 1.5K Sep 30 20:42 luke.gif
-rw-r--r-- 1 user user 44 Sep 30 20:42 luke.bat
drwxr-xr-x 3 user user 4.0K Sep 30 20:42 docs
-rw-r--r-- 1 user user 21K Sep 30 20:42 CHANGES.txt
-rw-r--r-- 1 user user 4.1K Sep 30 20:42 build.xml
user@localhost:~/luke-master$
</code></pre>
<br />
Everything is expected, no difficult. Let's compile the code and so we can run luke.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/luke-master$ export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_102/
user@localhost:~/luke-master$ ant -p
Buildfile: /home/user/luke-master/build.xml
Main targets:
Other targets:
clean
compile
dist
init
jar
javadoc
Default target: dist
user@localhost:~/luke-master$ ant
Buildfile: /home/user/luke-master/build.xml
clean:
init:
[mkdir] Created dir: /home/user/luke-master/build
[mkdir] Created dir: /home/user/luke-master/dist
compile:
[javac] /home/user/luke-master/build.xml:29: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 54 source files to /home/user/luke-master/build
BUILD FAILED
/home/user/luke-master/build.xml:29: /home/user/luke-master/lib does not exist.
Total time: 0 seconds
user@localhost:~/luke-master$ mvn
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for luke:luke:jar:6.2.1
[WARNING] 'version' contains an expression but should be a constant. @ luke:luke:${lucene.version}, /home/user/luke-master/pom.xml, line 9, column 14
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building luke 6.2.1
[INFO] ------------------------------------------------------------------------
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-core/6.2.1/lucene-core-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-core/6.2.1/lucene-core-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-core/6.2.1/lucene-core-6.2.1.pom (3 KB at 1.8 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-parent/6.2.1/lucene-parent-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-parent/6.2.1/lucene-parent-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-parent/6.2.1/lucene-parent-6.2.1.pom (5 KB at 10.6 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-solr-grandparent/6.2.1/lucene-solr-grandparent-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-solr-grandparent/6.2.1/lucene-solr-grandparent-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-solr-grandparent/6.2.1/lucene-solr-grandparent-6.2.1.pom (400 KB at 297.1 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-analyzers-common/6.2.1/lucene-analyzers-common-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-analyzers-common/6.2.1/lucene-analyzers-common-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-analyzers-common/6.2.1/lucene-analyzers-common-6.2.1.pom (4 KB at 7.0 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-misc/6.2.1/lucene-misc-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-misc/6.2.1/lucene-misc-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-misc/6.2.1/lucene-misc-6.2.1.pom (3 KB at 6.1 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-queries/6.2.1/lucene-queries-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queries/6.2.1/lucene-queries-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queries/6.2.1/lucene-queries-6.2.1.pom (3 KB at 6.1 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-queryparser/6.2.1/lucene-queryparser-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queryparser/6.2.1/lucene-queryparser-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queryparser/6.2.1/lucene-queryparser-6.2.1.pom (4 KB at 7.9 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-sandbox/6.2.1/lucene-sandbox-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-sandbox/6.2.1/lucene-sandbox-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-sandbox/6.2.1/lucene-sandbox-6.2.1.pom (3 KB at 6.5 KB/sec)
Downloading: http://maven.restlet.com/org/apache/solr/solr-solrj/6.2.1/solr-solrj-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/solr/solr-solrj/6.2.1/solr-solrj-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/solr/solr-solrj/6.2.1/solr-solrj-6.2.1.pom (5 KB at 10.0 KB/sec)
Downloading: http://maven.restlet.com/org/apache/solr/solr-parent/6.2.1/solr-parent-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/solr/solr-parent/6.2.1/solr-parent-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/solr/solr-parent/6.2.1/solr-parent-6.2.1.pom (8 KB at 16.7 KB/sec)
Downloading: http://maven.restlet.com/com/fasterxml/jackson/core/jackson-annotations/2.5.4/jackson-annotations-2.5.4.pom
Downloading: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.5.4/jackson-annotations-2.5.4.pom
Downloaded: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.5.4/jackson-annotations-2.5.4.pom (2 KB at 2.7 KB/sec)
Downloading: http://maven.restlet.com/com/fasterxml/jackson/core/jackson-core/2.5.4/jackson-core-2.5.4.pom
Downloading: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.5.4/jackson-core-2.5.4.pom
Downloaded: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.5.4/jackson-core-2.5.4.pom (5 KB at 10.4 KB/sec)
Downloading: http://maven.restlet.com/com/fasterxml/jackson/core/jackson-databind/2.5.4/jackson-databind-2.5.4.pom
Downloading: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.5.4/jackson-databind-2.5.4.pom
Downloaded: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.5.4/jackson-databind-2.5.4.pom (6 KB at 12.4 KB/sec)
Downloading: http://maven.restlet.com/commons-io/commons-io/2.5/commons-io-2.5.pom
Downloading: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.5/commons-io-2.5.pom
Downloaded: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.5/commons-io-2.5.pom (13 KB at 29.2 KB/sec)
Downloading: http://maven.restlet.com/org/apache/commons/commons-parent/39/commons-parent-39.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/39/commons-parent-39.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/39/commons-parent-39.pom (61 KB at 131.0 KB/sec)
Downloading: http://maven.restlet.com/org/apache/httpcomponents/httpmime/4.4.1/httpmime-4.4.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpmime/4.4.1/httpmime-4.4.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpmime/4.4.1/httpmime-4.4.1.pom (5 KB at 10.6 KB/sec)
Downloading: http://maven.restlet.com/org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.pom (4 KB at 7.5 KB/sec)
Downloading: http://maven.restlet.com/org/codehaus/woodstox/stax2-api/3.1.4/stax2-api-3.1.4.pom
Downloading: https://repo.maven.apache.org/maven2/org/codehaus/woodstox/stax2-api/3.1.4/stax2-api-3.1.4.pom
Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/woodstox/stax2-api/3.1.4/stax2-api-3.1.4.pom (6 KB at 12.0 KB/sec)
Downloading: http://maven.restlet.com/org/codehaus/woodstox/woodstox-core-asl/4.4.1/woodstox-core-asl-4.4.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/codehaus/woodstox/woodstox-core-asl/4.4.1/woodstox-core-asl-4.4.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/woodstox/woodstox-core-asl/4.4.1/woodstox-core-asl-4.4.1.pom (2 KB at 3.9 KB/sec)
Downloading: http://maven.restlet.com/org/noggit/noggit/0.6/noggit-0.6.pom
Downloading: https://repo.maven.apache.org/maven2/org/noggit/noggit/0.6/noggit-0.6.pom
Downloaded: https://repo.maven.apache.org/maven2/org/noggit/noggit/0.6/noggit-0.6.pom (3 KB at 4.4 KB/sec)
Downloading: http://maven.restlet.com/org/slf4j/jcl-over-slf4j/1.7.7/jcl-over-slf4j-1.7.7.pom
Downloading: https://repo.maven.apache.org/maven2/org/slf4j/jcl-over-slf4j/1.7.7/jcl-over-slf4j-1.7.7.pom
Downloaded: https://repo.maven.apache.org/maven2/org/slf4j/jcl-over-slf4j/1.7.7/jcl-over-slf4j-1.7.7.pom (2 KB at 3.9 KB/sec)
Downloading: http://maven.restlet.com/org/apache/solr/solr-core/6.2.1/solr-core-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/solr/solr-core/6.2.1/solr-core-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/solr/solr-core/6.2.1/solr-core-6.2.1.pom (13 KB at 27.3 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-analyzers-kuromoji/6.2.1/lucene-analyzers-kuromoji-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-analyzers-kuromoji/6.2.1/lucene-analyzers-kuromoji-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-analyzers-kuromoji/6.2.1/lucene-analyzers-kuromoji-6.2.1.pom (4 KB at 6.9 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-analyzers-phonetic/6.2.1/lucene-analyzers-phonetic-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-analyzers-phonetic/6.2.1/lucene-analyzers-phonetic-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-analyzers-phonetic/6.2.1/lucene-analyzers-phonetic-6.2.1.pom (4 KB at 7.0 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-backward-codecs/6.2.1/lucene-backward-codecs-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-backward-codecs/6.2.1/lucene-backward-codecs-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-backward-codecs/6.2.1/lucene-backward-codecs-6.2.1.pom (3 KB at 6.5 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-classification/6.2.1/lucene-classification-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-classification/6.2.1/lucene-classification-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-classification/6.2.1/lucene-classification-6.2.1.pom (4 KB at 6.9 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-codecs/6.2.1/lucene-codecs-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-codecs/6.2.1/lucene-codecs-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-codecs/6.2.1/lucene-codecs-6.2.1.pom (4 KB at 7.1 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-expressions/6.2.1/lucene-expressions-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-expressions/6.2.1/lucene-expressions-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-expressions/6.2.1/lucene-expressions-6.2.1.pom (3 KB at 6.5 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-grouping/6.2.1/lucene-grouping-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-grouping/6.2.1/lucene-grouping-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-grouping/6.2.1/lucene-grouping-6.2.1.pom (3 KB at 6.3 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-highlighter/6.2.1/lucene-highlighter-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-highlighter/6.2.1/lucene-highlighter-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-highlighter/6.2.1/lucene-highlighter-6.2.1.pom (4 KB at 7.2 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-join/6.2.1/lucene-join-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-join/6.2.1/lucene-join-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-join/6.2.1/lucene-join-6.2.1.pom (3 KB at 6.5 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-memory/6.2.1/lucene-memory-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-memory/6.2.1/lucene-memory-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-memory/6.2.1/lucene-memory-6.2.1.pom (3 KB at 6.4 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-spatial-extras/6.2.1/lucene-spatial-extras-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-spatial-extras/6.2.1/lucene-spatial-extras-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-spatial-extras/6.2.1/lucene-spatial-extras-6.2.1.pom (4 KB at 7.7 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-suggest/6.2.1/lucene-suggest-6.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-suggest/6.2.1/lucene-suggest-6.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-suggest/6.2.1/lucene-suggest-6.2.1.pom (4 KB at 7.2 KB/sec)
Downloading: http://maven.restlet.com/com/facebook/presto/presto-parser/0.122/presto-parser-0.122.pom
Downloading: https://repo.maven.apache.org/maven2/com/facebook/presto/presto-parser/0.122/presto-parser-0.122.pom
Downloaded: https://repo.maven.apache.org/maven2/com/facebook/presto/presto-parser/0.122/presto-parser-0.122.pom (3 KB at 4.5 KB/sec)
Downloading: http://maven.restlet.com/com/facebook/presto/presto-root/0.122/presto-root-0.122.pom
Downloading: https://repo.maven.apache.org/maven2/com/facebook/presto/presto-root/0.122/presto-root-0.122.pom
Downloaded: https://repo.maven.apache.org/maven2/com/facebook/presto/presto-root/0.122/presto-root-0.122.pom (37 KB at 78.2 KB/sec)
Downloading: http://maven.restlet.com/io/airlift/airbase/43/airbase-43.pom
Downloading: https://repo.maven.apache.org/maven2/io/airlift/airbase/43/airbase-43.pom
Downloaded: https://repo.maven.apache.org/maven2/io/airlift/airbase/43/airbase-43.pom (66 KB at 146.6 KB/sec)
Downloading: http://maven.restlet.com/com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.5.4/jackson-dataformat-smile-2.5.4.pom
Downloading: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.5.4/jackson-dataformat-smile-2.5.4.pom
Downloaded: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.5.4/jackson-dataformat-smile-2.5.4.pom (4 KB at 6.9 KB/sec)
Downloading: http://maven.restlet.com/com/github/ben-manes/caffeine/caffeine/1.0.1/caffeine-1.0.1.pom
Downloading: https://repo.maven.apache.org/maven2/com/github/ben-manes/caffeine/caffeine/1.0.1/caffeine-1.0.1.pom
Downloaded: https://repo.maven.apache.org/maven2/com/github/ben-manes/caffeine/caffeine/1.0.1/caffeine-1.0.1.pom (4 KB at 7.0 KB/sec)
Downloading: http://maven.restlet.com/com/tdunning/t-digest/3.1/t-digest-3.1.pom
Downloading: https://repo.maven.apache.org/maven2/com/tdunning/t-digest/3.1/t-digest-3.1.pom
Downloaded: https://repo.maven.apache.org/maven2/com/tdunning/t-digest/3.1/t-digest-3.1.pom (8 KB at 15.8 KB/sec)
Downloading: http://maven.restlet.com/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.pom
Downloading: https://repo.maven.apache.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.pom
Downloaded: https://repo.maven.apache.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.pom (13 KB at 26.2 KB/sec)
Downloading: http://maven.restlet.com/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1.pom
Downloading: https://repo.maven.apache.org/maven2/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1.pom
Downloaded: https://repo.maven.apache.org/maven2/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1.pom (10 KB at 22.1 KB/sec)
Downloading: http://maven.restlet.com/io/airlift/slice/0.10/slice-0.10.pom
Downloading: https://repo.maven.apache.org/maven2/io/airlift/slice/0.10/slice-0.10.pom
Downloaded: https://repo.maven.apache.org/maven2/io/airlift/slice/0.10/slice-0.10.pom (3 KB at 6.1 KB/sec)
Downloading: http://maven.restlet.com/io/airlift/airbase/31/airbase-31.pom
Downloading: https://repo.maven.apache.org/maven2/io/airlift/airbase/31/airbase-31.pom
Downloaded: https://repo.maven.apache.org/maven2/io/airlift/airbase/31/airbase-31.pom (62 KB at 130.4 KB/sec)
Downloading: http://maven.restlet.com/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.pom
Downloading: https://repo.maven.apache.org/maven2/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.pom
Downloaded: https://repo.maven.apache.org/maven2/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.pom (14 KB at 28.9 KB/sec)
Downloading: http://maven.restlet.com/joda-time/joda-time/2.2/joda-time-2.2.pom
Downloading: https://repo.maven.apache.org/maven2/joda-time/joda-time/2.2/joda-time-2.2.pom
Downloaded: https://repo.maven.apache.org/maven2/joda-time/joda-time/2.2/joda-time-2.2.pom (16 KB at 34.6 KB/sec)
Downloading: http://maven.restlet.com/org/apache/curator/curator-client/2.8.0/curator-client-2.8.0.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/curator/curator-client/2.8.0/curator-client-2.8.0.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/curator/curator-client/2.8.0/curator-client-2.8.0.pom (3 KB at 2.5 KB/sec)
Downloading: http://maven.restlet.com/org/apache/curator/apache-curator/2.8.0/apache-curator-2.8.0.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/curator/apache-curator/2.8.0/apache-curator-2.8.0.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/curator/apache-curator/2.8.0/apache-curator-2.8.0.pom (30 KB at 68.9 KB/sec)
Downloading: http://maven.restlet.com/org/apache/curator/curator-framework/2.8.0/curator-framework-2.8.0.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/curator/curator-framework/2.8.0/curator-framework-2.8.0.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/curator/curator-framework/2.8.0/curator-framework-2.8.0.pom (3 KB at 4.7 KB/sec)
Downloading: http://maven.restlet.com/org/apache/curator/curator-recipes/2.8.0/curator-recipes-2.8.0.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/curator/curator-recipes/2.8.0/curator-recipes-2.8.0.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/curator/curator-recipes/2.8.0/curator-recipes-2.8.0.pom (3 KB at 5.1 KB/sec)
Downloading: http://maven.restlet.com/org/apache/hadoop/hadoop-annotations/2.7.2/hadoop-annotations-2.7.2.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-annotations/2.7.2/hadoop-annotations-2.7.2.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-annotations/2.7.2/hadoop-annotations-2.7.2.pom (3 KB at 4.9 KB/sec)
Downloading: http://maven.restlet.com/org/apache/hadoop/hadoop-project/2.7.2/hadoop-project-2.7.2.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-project/2.7.2/hadoop-project-2.7.2.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-project/2.7.2/hadoop-project-2.7.2.pom (45 KB at 103.0 KB/sec)
Downloading: http://maven.restlet.com/org/apache/hadoop/hadoop-main/2.7.2/hadoop-main-2.7.2.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-main/2.7.2/hadoop-main-2.7.2.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-main/2.7.2/hadoop-main-2.7.2.pom (19 KB at 39.6 KB/sec)
Downloading: http://maven.restlet.com/org/apache/hadoop/hadoop-auth/2.7.2/hadoop-auth-2.7.2.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-auth/2.7.2/hadoop-auth-2.7.2.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-auth/2.7.2/hadoop-auth-2.7.2.pom (8 KB at 17.0 KB/sec)
Downloading: http://maven.restlet.com/org/apache/hadoop/hadoop-common/2.7.2/hadoop-common-2.7.2.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-common/2.7.2/hadoop-common-2.7.2.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-common/2.7.2/hadoop-common-2.7.2.pom (30 KB at 63.6 KB/sec)
Downloading: http://maven.restlet.com/org/apache/hadoop/hadoop-project-dist/2.7.2/hadoop-project-dist-2.7.2.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-project-dist/2.7.2/hadoop-project-dist-2.7.2.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-project-dist/2.7.2/hadoop-project-dist-2.7.2.pom (19 KB at 42.9 KB/sec)
Downloading: http://maven.restlet.com/org/apache/hadoop/hadoop-hdfs/2.7.2/hadoop-hdfs-2.7.2.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-hdfs/2.7.2/hadoop-hdfs-2.7.2.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-hdfs/2.7.2/hadoop-hdfs-2.7.2.pom (24 KB at 51.6 KB/sec)
Downloading: http://maven.restlet.com/org/apache/htrace/htrace-core/3.2.0-incubating/htrace-core-3.2.0-incubating.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/htrace/htrace-core/3.2.0-incubating/htrace-core-3.2.0-incubating.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/htrace/htrace-core/3.2.0-incubating/htrace-core-3.2.0-incubating.pom (3 KB at 6.2 KB/sec)
Downloading: http://maven.restlet.com/org/apache/htrace/htrace/3.2.0-incubating/htrace-3.2.0-incubating.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/htrace/htrace/3.2.0-incubating/htrace-3.2.0-incubating.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/htrace/htrace/3.2.0-incubating/htrace-3.2.0-incubating.pom (13 KB at 27.5 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-continuation/9.3.8.v20160314/jetty-continuation-9.3.8.v20160314.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-continuation/9.3.8.v20160314/jetty-continuation-9.3.8.v20160314.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-continuation/9.3.8.v20160314/jetty-continuation-9.3.8.v20160314.pom (2 KB at 2.5 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-project/9.3.8.v20160314/jetty-project-9.3.8.v20160314.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-project/9.3.8.v20160314/jetty-project-9.3.8.v20160314.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-project/9.3.8.v20160314/jetty-project-9.3.8.v20160314.pom (34 KB at 76.4 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-parent/25/jetty-parent-25.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-parent/25/jetty-parent-25.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-parent/25/jetty-parent-25.pom (22 KB at 46.6 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-deploy/9.3.8.v20160314/jetty-deploy-9.3.8.v20160314.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-deploy/9.3.8.v20160314/jetty-deploy-9.3.8.v20160314.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-deploy/9.3.8.v20160314/jetty-deploy-9.3.8.v20160314.pom (2 KB at 3.6 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-http/9.3.8.v20160314/jetty-http-9.3.8.v20160314.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-http/9.3.8.v20160314/jetty-http-9.3.8.v20160314.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-http/9.3.8.v20160314/jetty-http-9.3.8.v20160314.pom (2 KB at 3.5 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-io/9.3.8.v20160314/jetty-io-9.3.8.v20160314.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-io/9.3.8.v20160314/jetty-io-9.3.8.v20160314.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-io/9.3.8.v20160314/jetty-io-9.3.8.v20160314.pom (2 KB at 3.2 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-jmx/9.3.8.v20160314/jetty-jmx-9.3.8.v20160314.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-jmx/9.3.8.v20160314/jetty-jmx-9.3.8.v20160314.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-jmx/9.3.8.v20160314/jetty-jmx-9.3.8.v20160314.pom (2 KB at 2.9 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-rewrite/9.3.8.v20160314/jetty-rewrite-9.3.8.v20160314.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-rewrite/9.3.8.v20160314/jetty-rewrite-9.3.8.v20160314.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-rewrite/9.3.8.v20160314/jetty-rewrite-9.3.8.v20160314.pom (2 KB at 3.5 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-security/9.3.8.v20160314/jetty-security-9.3.8.v20160314.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-security/9.3.8.v20160314/jetty-security-9.3.8.v20160314.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-security/9.3.8.v20160314/jetty-security-9.3.8.v20160314.pom (2 KB at 4.5 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-server/9.3.8.v20160314/jetty-server-9.3.8.v20160314.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-server/9.3.8.v20160314/jetty-server-9.3.8.v20160314.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-server/9.3.8.v20160314/jetty-server-9.3.8.v20160314.pom (3 KB at 5.5 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-servlet/9.3.8.v20160314/jetty-servlet-9.3.8.v20160314.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-servlet/9.3.8.v20160314/jetty-servlet-9.3.8.v20160314.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-servlet/9.3.8.v20160314/jetty-servlet-9.3.8.v20160314.pom (3 KB at 4.7 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-servlets/9.3.8.v20160314/jetty-servlets-9.3.8.v20160314.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-servlets/9.3.8.v20160314/jetty-servlets-9.3.8.v20160314.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-servlets/9.3.8.v20160314/jetty-servlets-9.3.8.v20160314.pom (3 KB at 6.3 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-util/9.3.8.v20160314/jetty-util-9.3.8.v20160314.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-util/9.3.8.v20160314/jetty-util-9.3.8.v20160314.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-util/9.3.8.v20160314/jetty-util-9.3.8.v20160314.pom (3 KB at 4.4 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-webapp/9.3.8.v20160314/jetty-webapp-9.3.8.v20160314.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-webapp/9.3.8.v20160314/jetty-webapp-9.3.8.v20160314.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-webapp/9.3.8.v20160314/jetty-webapp-9.3.8.v20160314.pom (3 KB at 5.0 KB/sec)
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-xml/9.3.8.v20160314/jetty-xml-9.3.8.v20160314.pom
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-xml/9.3.8.v20160314/jetty-xml-9.3.8.v20160314.pom
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-xml/9.3.8.v20160314/jetty-xml-9.3.8.v20160314.pom (2 KB at 2.9 KB/sec)
Downloading: http://maven.restlet.com/org/locationtech/spatial4j/spatial4j/0.6/spatial4j-0.6.pom
Downloading: https://repo.maven.apache.org/maven2/org/locationtech/spatial4j/spatial4j/0.6/spatial4j-0.6.pom
Downloaded: https://repo.maven.apache.org/maven2/org/locationtech/spatial4j/spatial4j/0.6/spatial4j-0.6.pom (14 KB at 31.5 KB/sec)
Downloading: http://maven.restlet.com/org/ow2/asm/asm/5.1/asm-5.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.1/asm-5.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.1/asm-5.1.pom (2 KB at 4.1 KB/sec)
Downloading: http://maven.restlet.com/org/ow2/asm/asm-parent/5.1/asm-parent-5.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.1/asm-parent-5.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.1/asm-parent-5.1.pom (6 KB at 12.2 KB/sec)
Downloading: http://maven.restlet.com/org/ow2/asm/asm-commons/5.1/asm-commons-5.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/5.1/asm-commons-5.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/5.1/asm-commons-5.1.pom (3 KB at 4.4 KB/sec)
Downloading: http://maven.restlet.com/org/restlet/jee/org.restlet/2.3.0/org.restlet-2.3.0.pom
Downloaded: http://maven.restlet.com/org/restlet/jee/org.restlet/2.3.0/org.restlet-2.3.0.pom (614 B at 0.7 KB/sec)
Downloading: http://maven.restlet.com/org/restlet/jee/org.restlet.parent/2.3.0/org.restlet.parent-2.3.0.pom
Downloaded: http://maven.restlet.com/org/restlet/jee/org.restlet.parent/2.3.0/org.restlet.parent-2.3.0.pom (10 KB at 17.0 KB/sec)
Downloading: http://maven.restlet.com/org/restlet/jee/org.restlet.ext.servlet/2.3.0/org.restlet.ext.servlet-2.3.0.pom
Downloaded: http://maven.restlet.com/org/restlet/jee/org.restlet.ext.servlet/2.3.0/org.restlet.ext.servlet-2.3.0.pom (915 B at 1.6 KB/sec)
Downloading: http://maven.restlet.com/org/apache/hadoop/hadoop-core/1.2.1/hadoop-core-1.2.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-core/1.2.1/hadoop-core-1.2.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-core/1.2.1/hadoop-core-1.2.1.pom (5 KB at 10.6 KB/sec)
Downloading: http://maven.restlet.com/com/sun/jersey/jersey-core/1.8/jersey-core-1.8.pom
Downloading: https://repo.maven.apache.org/maven2/com/sun/jersey/jersey-core/1.8/jersey-core-1.8.pom
Downloaded: https://repo.maven.apache.org/maven2/com/sun/jersey/jersey-core/1.8/jersey-core-1.8.pom (10 KB at 22.7 KB/sec)
Downloading: http://maven.restlet.com/org/codehaus/jackson/jackson-core-asl/1.7.1/jackson-core-asl-1.7.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-core-asl/1.7.1/jackson-core-asl-1.7.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-core-asl/1.7.1/jackson-core-asl-1.7.1.pom (1016 B at 2.3 KB/sec)
Downloading: http://maven.restlet.com/org/codehaus/jackson/jackson-mapper-asl/1.7.1/jackson-mapper-asl-1.7.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-mapper-asl/1.7.1/jackson-mapper-asl-1.7.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-mapper-asl/1.7.1/jackson-mapper-asl-1.7.1.pom (2 KB at 2.6 KB/sec)
Downloading: http://maven.restlet.com/org/codehaus/jackson/jackson-jaxrs/1.7.1/jackson-jaxrs-1.7.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-jaxrs/1.7.1/jackson-jaxrs-1.7.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-jaxrs/1.7.1/jackson-jaxrs-1.7.1.pom (2 KB at 3.5 KB/sec)
Downloading: http://maven.restlet.com/org/codehaus/jackson/jackson-xc/1.7.1/jackson-xc-1.7.1.pom
Downloading: https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-xc/1.7.1/jackson-xc-1.7.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-xc/1.7.1/jackson-xc-1.7.1.pom (2 KB at 3.8 KB/sec)
Downloading: http://maven.restlet.com/com/sun/jersey/jersey-server/1.8/jersey-server-1.8.pom
Downloading: https://repo.maven.apache.org/maven2/com/sun/jersey/jersey-server/1.8/jersey-server-1.8.pom
Downloaded: https://repo.maven.apache.org/maven2/com/sun/jersey/jersey-server/1.8/jersey-server-1.8.pom (12 KB at 24.5 KB/sec)
Downloading: http://maven.restlet.com/org/mozilla/rhino/1.7R4/rhino-1.7R4.pom
Downloading: https://repo.maven.apache.org/maven2/org/mozilla/rhino/1.7R4/rhino-1.7R4.pom
Downloaded: https://repo.maven.apache.org/maven2/org/mozilla/rhino/1.7R4/rhino-1.7R4.pom (2 KB at 2.7 KB/sec)
Downloading: http://maven.restlet.com/net/sf/ehcache/ehcache/2.9.0/ehcache-2.9.0.pom
Downloading: https://repo.maven.apache.org/maven2/net/sf/ehcache/ehcache/2.9.0/ehcache-2.9.0.pom
Downloaded: https://repo.maven.apache.org/maven2/net/sf/ehcache/ehcache/2.9.0/ehcache-2.9.0.pom (19 KB at 40.6 KB/sec)
Downloading: http://maven.restlet.com/net/sf/ehcache/ehcache-root/2.9.0/ehcache-root-2.9.0.pom
Downloading: https://repo.maven.apache.org/maven2/net/sf/ehcache/ehcache-root/2.9.0/ehcache-root-2.9.0.pom
Downloaded: https://repo.maven.apache.org/maven2/net/sf/ehcache/ehcache-root/2.9.0/ehcache-root-2.9.0.pom (17 KB at 38.1 KB/sec)
Downloading: http://maven.restlet.com/net/sf/ehcache/ehcache-parent/2.16/ehcache-parent-2.16.pom
Downloading: https://repo.maven.apache.org/maven2/net/sf/ehcache/ehcache-parent/2.16/ehcache-parent-2.16.pom
Downloaded: https://repo.maven.apache.org/maven2/net/sf/ehcache/ehcache-parent/2.16/ehcache-parent-2.16.pom (17 KB at 38.7 KB/sec)
Downloading: http://maven.restlet.com/org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.pom
Downloading: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.pom
Downloaded: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.pom (2 KB at 3.7 KB/sec)
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-core/6.2.1/lucene-core-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-analyzers-common/6.2.1/lucene-analyzers-common-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-misc/6.2.1/lucene-misc-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-queries/6.2.1/lucene-queries-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-queryparser/6.2.1/lucene-queryparser-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-sandbox/6.2.1/lucene-sandbox-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/solr/solr-solrj/6.2.1/solr-solrj-6.2.1.jar
Downloading: http://maven.restlet.com/com/fasterxml/jackson/core/jackson-annotations/2.5.4/jackson-annotations-2.5.4.jar
Downloading: http://maven.restlet.com/com/fasterxml/jackson/core/jackson-core/2.5.4/jackson-core-2.5.4.jar
Downloading: http://maven.restlet.com/com/fasterxml/jackson/core/jackson-databind/2.5.4/jackson-databind-2.5.4.jar
Downloading: http://maven.restlet.com/commons-io/commons-io/2.5/commons-io-2.5.jar
Downloading: http://maven.restlet.com/org/apache/httpcomponents/httpmime/4.4.1/httpmime-4.4.1.jar
Downloading: http://maven.restlet.com/org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.jar
Downloading: http://maven.restlet.com/org/noggit/noggit/0.6/noggit-0.6.jar
Downloading: http://maven.restlet.com/org/slf4j/jcl-over-slf4j/1.7.7/jcl-over-slf4j-1.7.7.jar
Downloading: http://maven.restlet.com/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar
Downloading: http://maven.restlet.com/org/apache/solr/solr-core/6.2.1/solr-core-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-analyzers-kuromoji/6.2.1/lucene-analyzers-kuromoji-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-analyzers-phonetic/6.2.1/lucene-analyzers-phonetic-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-backward-codecs/6.2.1/lucene-backward-codecs-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-classification/6.2.1/lucene-classification-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-codecs/6.2.1/lucene-codecs-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-expressions/6.2.1/lucene-expressions-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-grouping/6.2.1/lucene-grouping-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-highlighter/6.2.1/lucene-highlighter-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-join/6.2.1/lucene-join-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-memory/6.2.1/lucene-memory-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-spatial-extras/6.2.1/lucene-spatial-extras-6.2.1.jar
Downloading: http://maven.restlet.com/org/apache/lucene/lucene-suggest/6.2.1/lucene-suggest-6.2.1.jar
Downloading: http://maven.restlet.com/com/facebook/presto/presto-parser/0.122/presto-parser-0.122.jar
Downloading: http://maven.restlet.com/com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.5.4/jackson-dataformat-smile-2.5.4.jar
Downloading: http://maven.restlet.com/com/github/ben-manes/caffeine/caffeine/1.0.1/caffeine-1.0.1.jar
Downloading: http://maven.restlet.com/com/tdunning/t-digest/3.1/t-digest-3.1.jar
Downloading: http://maven.restlet.com/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar
Downloading: http://maven.restlet.com/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1.jar
Downloading: http://maven.restlet.com/io/airlift/slice/0.10/slice-0.10.jar
Downloading: http://maven.restlet.com/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar
Downloading: http://maven.restlet.com/joda-time/joda-time/2.2/joda-time-2.2.jar
Downloading: http://maven.restlet.com/org/apache/curator/curator-client/2.8.0/curator-client-2.8.0.jar
Downloading: http://maven.restlet.com/org/apache/curator/curator-framework/2.8.0/curator-framework-2.8.0.jar
Downloading: http://maven.restlet.com/org/apache/curator/curator-recipes/2.8.0/curator-recipes-2.8.0.jar
Downloading: http://maven.restlet.com/org/apache/hadoop/hadoop-annotations/2.7.2/hadoop-annotations-2.7.2.jar
Downloading: http://maven.restlet.com/org/apache/hadoop/hadoop-auth/2.7.2/hadoop-auth-2.7.2.jar
Downloading: http://maven.restlet.com/org/apache/hadoop/hadoop-common/2.7.2/hadoop-common-2.7.2.jar
Downloading: http://maven.restlet.com/org/apache/hadoop/hadoop-hdfs/2.7.2/hadoop-hdfs-2.7.2.jar
Downloading: http://maven.restlet.com/org/apache/htrace/htrace-core/3.2.0-incubating/htrace-core-3.2.0-incubating.jar
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-continuation/9.3.8.v20160314/jetty-continuation-9.3.8.v20160314.jar
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-deploy/9.3.8.v20160314/jetty-deploy-9.3.8.v20160314.jar
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-http/9.3.8.v20160314/jetty-http-9.3.8.v20160314.jar
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-io/9.3.8.v20160314/jetty-io-9.3.8.v20160314.jar
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-jmx/9.3.8.v20160314/jetty-jmx-9.3.8.v20160314.jar
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-rewrite/9.3.8.v20160314/jetty-rewrite-9.3.8.v20160314.jar
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-security/9.3.8.v20160314/jetty-security-9.3.8.v20160314.jar
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-server/9.3.8.v20160314/jetty-server-9.3.8.v20160314.jar
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-servlet/9.3.8.v20160314/jetty-servlet-9.3.8.v20160314.jar
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-servlets/9.3.8.v20160314/jetty-servlets-9.3.8.v20160314.jar
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-util/9.3.8.v20160314/jetty-util-9.3.8.v20160314.jar
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-webapp/9.3.8.v20160314/jetty-webapp-9.3.8.v20160314.jar
Downloading: http://maven.restlet.com/org/eclipse/jetty/jetty-xml/9.3.8.v20160314/jetty-xml-9.3.8.v20160314.jar
Downloading: http://maven.restlet.com/org/locationtech/spatial4j/spatial4j/0.6/spatial4j-0.6.jar
Downloading: http://maven.restlet.com/org/ow2/asm/asm/5.1/asm-5.1.jar
Downloading: http://maven.restlet.com/org/ow2/asm/asm-commons/5.1/asm-commons-5.1.jar
Downloading: http://maven.restlet.com/org/restlet/jee/org.restlet/2.3.0/org.restlet-2.3.0.jar
Downloading: http://maven.restlet.com/org/restlet/jee/org.restlet.ext.servlet/2.3.0/org.restlet.ext.servlet-2.3.0.jar
Downloading: http://maven.restlet.com/org/apache/hadoop/hadoop-core/1.2.1/hadoop-core-1.2.1.jar
Downloading: http://maven.restlet.com/com/sun/jersey/jersey-core/1.8/jersey-core-1.8.jar
Downloading: http://maven.restlet.com/org/codehaus/jackson/jackson-core-asl/1.7.1/jackson-core-asl-1.7.1.jar
Downloading: http://maven.restlet.com/org/codehaus/jackson/jackson-jaxrs/1.7.1/jackson-jaxrs-1.7.1.jar
Downloading: http://maven.restlet.com/org/codehaus/jackson/jackson-xc/1.7.1/jackson-xc-1.7.1.jar
Downloading: http://maven.restlet.com/com/sun/jersey/jersey-server/1.8/jersey-server-1.8.jar
Downloaded: http://maven.restlet.com/org/restlet/jee/org.restlet.ext.servlet/2.3.0/org.restlet.ext.servlet-2.3.0.jar (23 KB at 3.3 KB/sec)
Downloading: http://maven.restlet.com/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.jar
Downloading: http://maven.restlet.com/org/mozilla/rhino/1.7R4/rhino-1.7R4.jar
Downloading: http://maven.restlet.com/net/sf/ehcache/ehcache/2.9.0/ehcache-2.9.0.jar
Downloading: http://maven.restlet.com/org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.jar
Downloaded: http://maven.restlet.com/org/restlet/jee/org.restlet/2.3.0/org.restlet-2.3.0.jar (692 KB at 84.7 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-core/6.2.1/lucene-core-6.2.1.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-analyzers-common/6.2.1/lucene-analyzers-common-6.2.1.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-misc/6.2.1/lucene-misc-6.2.1.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queries/6.2.1/lucene-queries-6.2.1.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queryparser/6.2.1/lucene-queryparser-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queries/6.2.1/lucene-queries-6.2.1.jar (220 KB at 102.1 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-sandbox/6.2.1/lucene-sandbox-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-misc/6.2.1/lucene-misc-6.2.1.jar (140 KB at 57.8 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/solr/solr-solrj/6.2.1/solr-solrj-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-sandbox/6.2.1/lucene-sandbox-6.2.1.jar (184 KB at 47.3 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.5.4/jackson-annotations-2.5.4.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-core/6.2.1/lucene-core-6.2.1.jar (2522 KB at 445.1 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.5.4/jackson-core-2.5.4.jar
Downloaded: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.5.4/jackson-annotations-2.5.4.jar (39 KB at 6.7 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.5.4/jackson-databind-2.5.4.jar
Downloaded: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.5.4/jackson-core-2.5.4.jar (225 KB at 32.0 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.5/commons-io-2.5.jar
Downloaded: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.5/commons-io-2.5.jar (204 KB at 25.2 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpmime/4.4.1/httpmime-4.4.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpmime/4.4.1/httpmime-4.4.1.jar (40 KB at 4.6 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queryparser/6.2.1/lucene-queryparser-6.2.1.jar (395 KB at 36.7 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/noggit/noggit/0.6/noggit-0.6.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/solr/solr-solrj/6.2.1/solr-solrj-6.2.1.jar (944 KB at 84.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/slf4j/jcl-over-slf4j/1.7.7/jcl-over-slf4j-1.7.7.jar
Downloaded: https://repo.maven.apache.org/maven2/org/noggit/noggit/0.6/noggit-0.6.jar (27 KB at 2.3 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar
Downloaded: https://repo.maven.apache.org/maven2/org/slf4j/jcl-over-slf4j/1.7.7/jcl-over-slf4j-1.7.7.jar (17 KB at 1.4 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/solr/solr-core/6.2.1/solr-core-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar (29 KB at 2.4 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-analyzers-kuromoji/6.2.1/lucene-analyzers-kuromoji-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.5.4/jackson-databind-2.5.4.jar (1118 KB at 90.8 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-analyzers-phonetic/6.2.1/lucene-analyzers-phonetic-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-analyzers-phonetic/6.2.1/lucene-analyzers-phonetic-6.2.1.jar (26 KB at 2.0 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-backward-codecs/6.2.1/lucene-backward-codecs-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-backward-codecs/6.2.1/lucene-backward-codecs-6.2.1.jar (86 KB at 6.3 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-classification/6.2.1/lucene-classification-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-classification/6.2.1/lucene-classification-6.2.1.jar (51 KB at 3.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-codecs/6.2.1/lucene-codecs-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.jar (775 KB at 53.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-expressions/6.2.1/lucene-expressions-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-analyzers-common/6.2.1/lucene-analyzers-common-6.2.1.jar (1438 KB at 97.0 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-grouping/6.2.1/lucene-grouping-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-expressions/6.2.1/lucene-expressions-6.2.1.jar (76 KB at 4.9 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-highlighter/6.2.1/lucene-highlighter-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-grouping/6.2.1/lucene-grouping-6.2.1.jar (105 KB at 6.6 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-join/6.2.1/lucene-join-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-highlighter/6.2.1/lucene-highlighter-6.2.1.jar (141 KB at 8.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-memory/6.2.1/lucene-memory-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-codecs/6.2.1/lucene-codecs-6.2.1.jar (424 KB at 25.1 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-spatial-extras/6.2.1/lucene-spatial-extras-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-memory/6.2.1/lucene-memory-6.2.1.jar (46 KB at 2.6 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-suggest/6.2.1/lucene-suggest-6.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-join/6.2.1/lucene-join-6.2.1.jar (147 KB at 8.6 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/com/facebook/presto/presto-parser/0.122/presto-parser-0.122.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-spatial-extras/6.2.1/lucene-spatial-extras-6.2.1.jar (192 KB at 10.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.5.4/jackson-dataformat-smile-2.5.4.jar
Downloaded: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.5.4/jackson-dataformat-smile-2.5.4.jar (74 KB at 3.8 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/com/github/ben-manes/caffeine/caffeine/1.0.1/caffeine-1.0.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-suggest/6.2.1/lucene-suggest-6.2.1.jar (242 KB at 12.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/com/tdunning/t-digest/3.1/t-digest-3.1.jar
Downloaded: https://repo.maven.apache.org/maven2/com/tdunning/t-digest/3.1/t-digest-3.1.jar (60 KB at 3.0 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar
Downloaded: https://repo.maven.apache.org/maven2/com/facebook/presto/presto-parser/0.122/presto-parser-0.122.jar (459 KB at 22.1 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1.jar
Downloaded: https://repo.maven.apache.org/maven2/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1.jar (68 KB at 3.1 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/io/airlift/slice/0.10/slice-0.10.jar
Downloaded: https://repo.maven.apache.org/maven2/io/airlift/slice/0.10/slice-0.10.jar (55 KB at 2.4 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar
Downloaded: https://repo.maven.apache.org/maven2/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar (94 KB at 3.9 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/joda-time/joda-time/2.2/joda-time-2.2.jar
Downloaded: https://repo.maven.apache.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar (575 KB at 21.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/curator/curator-client/2.8.0/curator-client-2.8.0.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/curator/curator-client/2.8.0/curator-client-2.8.0.jar (68 KB at 2.4 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/curator/curator-framework/2.8.0/curator-framework-2.8.0.jar
Downloaded: https://repo.maven.apache.org/maven2/joda-time/joda-time/2.2/joda-time-2.2.jar (561 KB at 18.8 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/curator/curator-recipes/2.8.0/curator-recipes-2.8.0.jar
Downloaded: https://repo.maven.apache.org/maven2/com/github/ben-manes/caffeine/caffeine/1.0.1/caffeine-1.0.1.jar (2054 KB at 67.1 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-annotations/2.7.2/hadoop-annotations-2.7.2.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/curator/curator-framework/2.8.0/curator-framework-2.8.0.jar (183 KB at 5.9 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-auth/2.7.2/hadoop-auth-2.7.2.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-annotations/2.7.2/hadoop-annotations-2.7.2.jar (17 KB at 0.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-common/2.7.2/hadoop-common-2.7.2.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-auth/2.7.2/hadoop-auth-2.7.2.jar (70 KB at 2.2 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-hdfs/2.7.2/hadoop-hdfs-2.7.2.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/curator/curator-recipes/2.8.0/curator-recipes-2.8.0.jar (267 KB at 8.3 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/htrace/htrace-core/3.2.0-incubating/htrace-core-3.2.0-incubating.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/htrace/htrace-core/3.2.0-incubating/htrace-core-3.2.0-incubating.jar (1450 KB at 33.2 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-continuation/9.3.8.v20160314/jetty-continuation-9.3.8.v20160314.jar
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-continuation/9.3.8.v20160314/jetty-continuation-9.3.8.v20160314.jar (16 KB at 0.3 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-deploy/9.3.8.v20160314/jetty-deploy-9.3.8.v20160314.jar
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-deploy/9.3.8.v20160314/jetty-deploy-9.3.8.v20160314.jar (50 KB at 1.1 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-http/9.3.8.v20160314/jetty-http-9.3.8.v20160314.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/solr/solr-core/6.2.1/solr-core-6.2.1.jar (4140 KB at 92.2 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-io/9.3.8.v20160314/jetty-io-9.3.8.v20160314.jar
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-http/9.3.8.v20160314/jetty-http-9.3.8.v20160314.jar (136 KB at 2.9 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-jmx/9.3.8.v20160314/jetty-jmx-9.3.8.v20160314.jar
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-jmx/9.3.8.v20160314/jetty-jmx-9.3.8.v20160314.jar (22 KB at 0.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-rewrite/9.3.8.v20160314/jetty-rewrite-9.3.8.v20160314.jar
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-io/9.3.8.v20160314/jetty-io-9.3.8.v20160314.jar (104 KB at 2.2 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-security/9.3.8.v20160314/jetty-security-9.3.8.v20160314.jar
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-rewrite/9.3.8.v20160314/jetty-rewrite-9.3.8.v20160314.jar (31 KB at 0.7 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-server/9.3.8.v20160314/jetty-server-9.3.8.v20160314.jar
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-security/9.3.8.v20160314/jetty-security-9.3.8.v20160314.jar (93 KB at 1.9 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-servlet/9.3.8.v20160314/jetty-servlet-9.3.8.v20160314.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-common/2.7.2/hadoop-common-2.7.2.jar (3363 KB at 68.0 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-servlets/9.3.8.v20160314/jetty-servlets-9.3.8.v20160314.jar
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-servlets/9.3.8.v20160314/jetty-servlets-9.3.8.v20160314.jar (85 KB at 1.7 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-util/9.3.8.v20160314/jetty-util-9.3.8.v20160314.jar
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-servlet/9.3.8.v20160314/jetty-servlet-9.3.8.v20160314.jar (114 KB at 2.2 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-webapp/9.3.8.v20160314/jetty-webapp-9.3.8.v20160314.jar
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-server/9.3.8.v20160314/jetty-server-9.3.8.v20160314.jar (475 KB at 9.1 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-xml/9.3.8.v20160314/jetty-xml-9.3.8.v20160314.jar
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-webapp/9.3.8.v20160314/jetty-webapp-9.3.8.v20160314.jar (109 KB at 2.1 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/locationtech/spatial4j/spatial4j/0.6/spatial4j-0.6.jar
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-xml/9.3.8.v20160314/jetty-xml-9.3.8.v20160314.jar (50 KB at 0.9 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.1/asm-5.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/eclipse/jetty/jetty-util/9.3.8.v20160314/jetty-util-9.3.8.v20160314.jar (409 KB at 7.7 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/5.1/asm-commons-5.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/5.1/asm-commons-5.1.jar (47 KB at 0.9 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-core/1.2.1/hadoop-core-1.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.1/asm-5.1.jar (53 KB at 1.0 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/com/sun/jersey/jersey-core/1.8/jersey-core-1.8.jar
Downloaded: https://repo.maven.apache.org/maven2/org/locationtech/spatial4j/spatial4j/0.6/spatial4j-0.6.jar (184 KB at 3.4 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-core-asl/1.7.1/jackson-core-asl-1.7.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-core-asl/1.7.1/jackson-core-asl-1.7.1.jar (203 KB at 3.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-jaxrs/1.7.1/jackson-jaxrs-1.7.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-jaxrs/1.7.1/jackson-jaxrs-1.7.1.jar (18 KB at 0.3 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-xc/1.7.1/jackson-xc-1.7.1.jar
Downloaded: https://repo.maven.apache.org/maven2/com/sun/jersey/jersey-core/1.8/jersey-core-1.8.jar (448 KB at 7.7 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/com/sun/jersey/jersey-server/1.8/jersey-server-1.8.jar
Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-xc/1.7.1/jackson-xc-1.7.1.jar (31 KB at 0.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.jar
Downloaded: https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.jar (31 KB at 0.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/mozilla/rhino/1.7R4/rhino-1.7R4.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-analyzers-kuromoji/6.2.1/lucene-analyzers-kuromoji-6.2.1.jar (4504 KB at 75.6 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/net/sf/ehcache/ehcache/2.9.0/ehcache-2.9.0.jar
Downloaded: https://repo.maven.apache.org/maven2/com/sun/jersey/jersey-server/1.8/jersey-server-1.8.jar (679 KB at 10.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.jar
Downloaded: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.jar (9 KB at 0.1 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/mozilla/rhino/1.7R4/rhino-1.7R4.jar (1109 KB at 16.3 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-core/1.2.1/hadoop-core-1.2.1.jar (4106 KB at 55.1 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-hdfs/2.7.2/hadoop-hdfs-2.7.2.jar (8075 KB at 95.6 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/net/sf/ehcache/ehcache/2.9.0/ehcache-2.9.0.jar (8809 KB at 93.0 KB/sec)
[INFO]
[INFO] --- maven-resources-plugin:2.3:resources (default-resources) @ luke ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 54 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ luke ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 53 source files to /home/user/luke-master/target/classes
[WARNING] /home/user/luke-master/src/main/java/thinlet/Thinlet.java:[2824,20] isFocusTraversable() in java.awt.Component has been deprecated
[WARNING] /home/user/luke-master/src/main/java/org/getopt/luke/Util.java:[199,8] setNumericType(org.apache.lucene.document.FieldType.LegacyNumericType) in org.apache.lucene.document.FieldType has been deprecated
[WARNING] /home/user/luke-master/src/main/java/org/getopt/luke/Util.java:[240,16] org.apache.lucene.document.FieldType.LegacyNumericType in org.apache.lucene.document.FieldType has been deprecated
[WARNING] /home/user/luke-master/src/main/java/org/getopt/luke/Util.java:[240,41] numericType() in org.apache.lucene.document.FieldType has been deprecated
[WARNING] /home/user/luke-master/src/main/java/org/getopt/luke/Util.java:[243,21] numericPrecisionStep() in org.apache.lucene.document.FieldType has been deprecated
[WARNING] /home/user/luke-master/src/main/java/org/getopt/luke/ClassFinder.java: Some input files use unchecked or unsafe operations.
[WARNING] /home/user/luke-master/src/main/java/org/getopt/luke/ClassFinder.java: Recompile with -Xlint:unchecked for details.
[INFO]
[INFO] --- maven-resources-plugin:2.3:testResources (default-testResources) @ luke ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/user/luke-master/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ luke ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /home/user/luke-master/target/test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.17:test (default-test) @ luke ---
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ luke ---
[INFO] Building jar: /home/user/luke-master/target/luke-6.2.1.jar
[INFO]
[INFO] --- maven-dependency-plugin:2.8:copy-dependencies (default) @ luke ---
[INFO] Copying jets3t-0.6.1.jar to /home/user/luke-master/target/lib/jets3t-0.6.1.jar
[INFO] Copying hadoop-annotations-2.7.2.jar to /home/user/luke-master/target/lib/hadoop-annotations-2.7.2.jar
[INFO] Copying commons-el-1.0.jar to /home/user/luke-master/target/lib/commons-el-1.0.jar
[INFO] Copying protobuf-java-2.5.0.jar to /home/user/luke-master/target/lib/protobuf-java-2.5.0.jar
[INFO] Copying jackson-mapper-asl-1.8.8.jar to /home/user/luke-master/target/lib/jackson-mapper-asl-1.8.8.jar
[INFO] Copying core-3.1.1.jar to /home/user/luke-master/target/lib/core-3.1.1.jar
[INFO] Copying lucene-expressions-6.2.1.jar to /home/user/luke-master/target/lib/lucene-expressions-6.2.1.jar
[INFO] Copying curator-client-2.8.0.jar to /home/user/luke-master/target/lib/curator-client-2.8.0.jar
[INFO] Copying lucene-misc-6.2.1.jar to /home/user/luke-master/target/lib/lucene-misc-6.2.1.jar
[INFO] Copying jetty-rewrite-9.3.8.v20160314.jar to /home/user/luke-master/target/lib/jetty-rewrite-9.3.8.v20160314.jar
[INFO] Copying lucene-analyzers-phonetic-6.2.1.jar to /home/user/luke-master/target/lib/lucene-analyzers-phonetic-6.2.1.jar
[INFO] Copying org.restlet-2.3.0.jar to /home/user/luke-master/target/lib/org.restlet-2.3.0.jar
[INFO] Copying lucene-suggest-6.2.1.jar to /home/user/luke-master/target/lib/lucene-suggest-6.2.1.jar
[INFO] Copying lucene-join-6.2.1.jar to /home/user/luke-master/target/lib/lucene-join-6.2.1.jar
[INFO] Copying ehcache-2.9.0.jar to /home/user/luke-master/target/lib/ehcache-2.9.0.jar
[INFO] Copying commons-fileupload-1.3.1.jar to /home/user/luke-master/target/lib/commons-fileupload-1.3.1.jar
[INFO] Copying hppc-0.7.1.jar to /home/user/luke-master/target/lib/hppc-0.7.1.jar
[INFO] Copying lucene-memory-6.2.1.jar to /home/user/luke-master/target/lib/lucene-memory-6.2.1.jar
[INFO] Copying antlr4-runtime-4.5.1-1.jar to /home/user/luke-master/target/lib/antlr4-runtime-4.5.1-1.jar
[INFO] Copying lucene-queryparser-6.2.1.jar to /home/user/luke-master/target/lib/lucene-queryparser-6.2.1.jar
[INFO] Copying dom4j-1.6.1.jar to /home/user/luke-master/target/lib/dom4j-1.6.1.jar
[INFO] Copying jetty-webapp-9.3.8.v20160314.jar to /home/user/luke-master/target/lib/jetty-webapp-9.3.8.v20160314.jar
[INFO] Copying jackson-databind-2.5.4.jar to /home/user/luke-master/target/lib/jackson-databind-2.5.4.jar
[INFO] Copying lucene-highlighter-6.2.1.jar to /home/user/luke-master/target/lib/lucene-highlighter-6.2.1.jar
[INFO] Copying jetty-io-9.3.8.v20160314.jar to /home/user/luke-master/target/lib/jetty-io-9.3.8.v20160314.jar
[INFO] Copying tools.jar to /home/user/luke-master/target/lib/jdk.tools-1.8.jar
[INFO] Copying lucene-queries-6.2.1.jar to /home/user/luke-master/target/lib/lucene-queries-6.2.1.jar
[INFO] Copying ant-1.6.5.jar to /home/user/luke-master/target/lib/ant-1.6.5.jar
[INFO] Copying lucene-backward-codecs-6.2.1.jar to /home/user/luke-master/target/lib/lucene-backward-codecs-6.2.1.jar
[INFO] Copying jaxb-api-2.2.2.jar to /home/user/luke-master/target/lib/jaxb-api-2.2.2.jar
[INFO] Copying commons-httpclient-3.0.1.jar to /home/user/luke-master/target/lib/commons-httpclient-3.0.1.jar
[INFO] Copying curator-framework-2.8.0.jar to /home/user/luke-master/target/lib/curator-framework-2.8.0.jar
[INFO] Copying jetty-xml-9.3.8.v20160314.jar to /home/user/luke-master/target/lib/jetty-xml-9.3.8.v20160314.jar
[INFO] Copying lucene-spatial-extras-6.2.1.jar to /home/user/luke-master/target/lib/lucene-spatial-extras-6.2.1.jar
[INFO] Copying commons-lang-2.6.jar to /home/user/luke-master/target/lib/commons-lang-2.6.jar
[INFO] Copying activation-1.1.jar to /home/user/luke-master/target/lib/activation-1.1.jar
[INFO] Copying zookeeper-3.4.6.jar to /home/user/luke-master/target/lib/zookeeper-3.4.6.jar
[INFO] Copying jasper-runtime-5.5.12.jar to /home/user/luke-master/target/lib/jasper-runtime-5.5.12.jar
[INFO] Copying commons-exec-1.3.jar to /home/user/luke-master/target/lib/commons-exec-1.3.jar
[INFO] Copying asm-3.1.jar to /home/user/luke-master/target/lib/asm-3.1.jar
[INFO] Copying jetty-server-9.3.8.v20160314.jar to /home/user/luke-master/target/lib/jetty-server-9.3.8.v20160314.jar
[INFO] Copying lucene-codecs-6.2.1.jar to /home/user/luke-master/target/lib/lucene-codecs-6.2.1.jar
[INFO] Copying commons-codec-1.10.jar to /home/user/luke-master/target/lib/commons-codec-1.10.jar
[INFO] Copying guava-14.0.1.jar to /home/user/luke-master/target/lib/guava-14.0.1.jar
[INFO] Copying httpcore-4.4.1.jar to /home/user/luke-master/target/lib/httpcore-4.4.1.jar
[INFO] Copying jetty-jmx-9.3.8.v20160314.jar to /home/user/luke-master/target/lib/jetty-jmx-9.3.8.v20160314.jar
[INFO] Copying spatial4j-0.6.jar to /home/user/luke-master/target/lib/spatial4j-0.6.jar
[INFO] Copying joda-time-2.2.jar to /home/user/luke-master/target/lib/joda-time-2.2.jar
[INFO] Copying jetty-util-9.3.8.v20160314.jar to /home/user/luke-master/target/lib/jetty-util-9.3.8.v20160314.jar
[INFO] Copying lucene-core-6.2.1.jar to /home/user/luke-master/target/lib/lucene-core-6.2.1.jar
[INFO] Copying javax.servlet-api-3.1.0.jar to /home/user/luke-master/target/lib/javax.servlet-api-3.1.0.jar
[INFO] Copying hadoop-hdfs-2.7.2.jar to /home/user/luke-master/target/lib/hadoop-hdfs-2.7.2.jar
[INFO] Copying stax-api-1.0-2.jar to /home/user/luke-master/target/lib/stax-api-1.0-2.jar
[INFO] Copying jetty-6.1.26.jar to /home/user/luke-master/target/lib/jetty-6.1.26.jar
[INFO] Copying servlet-api-2.5-6.1.14.jar to /home/user/luke-master/target/lib/servlet-api-2.5-6.1.14.jar
[INFO] Copying oro-2.0.8.jar to /home/user/luke-master/target/lib/oro-2.0.8.jar
[INFO] Copying slf4j-api-1.7.7.jar to /home/user/luke-master/target/lib/slf4j-api-1.7.7.jar
[INFO] Copying jsp-api-2.1-6.1.14.jar to /home/user/luke-master/target/lib/jsp-api-2.1-6.1.14.jar
[INFO] Copying stax-api-1.0.1.jar to /home/user/luke-master/target/lib/stax-api-1.0.1.jar
[INFO] Copying caffeine-1.0.1.jar to /home/user/luke-master/target/lib/caffeine-1.0.1.jar
[INFO] Copying jetty-continuation-9.3.8.v20160314.jar to /home/user/luke-master/target/lib/jetty-continuation-9.3.8.v20160314.jar
[INFO] Copying jackson-core-asl-1.7.1.jar to /home/user/luke-master/target/lib/jackson-core-asl-1.7.1.jar
[INFO] Copying log4j-1.2.17.jar to /home/user/luke-master/target/lib/log4j-1.2.17.jar
[INFO] Copying lucene-analyzers-common-6.2.1.jar to /home/user/luke-master/target/lib/lucene-analyzers-common-6.2.1.jar
[INFO] Copying commons-net-1.4.1.jar to /home/user/luke-master/target/lib/commons-net-1.4.1.jar
[INFO] Copying jetty-servlet-9.3.8.v20160314.jar to /home/user/luke-master/target/lib/jetty-servlet-9.3.8.v20160314.jar
[INFO] Copying jackson-dataformat-smile-2.5.4.jar to /home/user/luke-master/target/lib/jackson-dataformat-smile-2.5.4.jar
[INFO] Copying jaxb-impl-2.2.3-1.jar to /home/user/luke-master/target/lib/jaxb-impl-2.2.3-1.jar
[INFO] Copying jsp-2.1-6.1.14.jar to /home/user/luke-master/target/lib/jsp-2.1-6.1.14.jar
[INFO] Copying org.restlet.ext.servlet-2.3.0.jar to /home/user/luke-master/target/lib/org.restlet.ext.servlet-2.3.0.jar
[INFO] Copying jetty-util-6.1.26.jar to /home/user/luke-master/target/lib/jetty-util-6.1.26.jar
[INFO] Copying jackson-jaxrs-1.7.1.jar to /home/user/luke-master/target/lib/jackson-jaxrs-1.7.1.jar
[INFO] Copying asm-commons-5.1.jar to /home/user/luke-master/target/lib/asm-commons-5.1.jar
[INFO] Copying t-digest-3.1.jar to /home/user/luke-master/target/lib/t-digest-3.1.jar
[INFO] Copying hamcrest-core-1.3.jar to /home/user/luke-master/target/lib/hamcrest-core-1.3.jar
[INFO] Copying httpclient-4.4.1.jar to /home/user/luke-master/target/lib/httpclient-4.4.1.jar
[INFO] Copying jcl-over-slf4j-1.7.7.jar to /home/user/luke-master/target/lib/jcl-over-slf4j-1.7.7.jar
[INFO] Copying woodstox-core-asl-4.4.1.jar to /home/user/luke-master/target/lib/woodstox-core-asl-4.4.1.jar
[INFO] Copying hsqldb-1.8.0.10.jar to /home/user/luke-master/target/lib/hsqldb-1.8.0.10.jar
[INFO] Copying jackson-annotations-2.5.4.jar to /home/user/luke-master/target/lib/jackson-annotations-2.5.4.jar
[INFO] Copying httpmime-4.4.1.jar to /home/user/luke-master/target/lib/httpmime-4.4.1.jar
[INFO] Copying xmlenc-0.52.jar to /home/user/luke-master/target/lib/xmlenc-0.52.jar
[INFO] Copying lucene-grouping-6.2.1.jar to /home/user/luke-master/target/lib/lucene-grouping-6.2.1.jar
[INFO] Copying solr-solrj-6.2.1.jar to /home/user/luke-master/target/lib/solr-solrj-6.2.1.jar
[INFO] Copying hadoop-core-1.2.1.jar to /home/user/luke-master/target/lib/hadoop-core-1.2.1.jar
[INFO] Copying jackson-xc-1.7.1.jar to /home/user/luke-master/target/lib/jackson-xc-1.7.1.jar
[INFO] Copying jetty-deploy-9.3.8.v20160314.jar to /home/user/luke-master/target/lib/jetty-deploy-9.3.8.v20160314.jar
[INFO] Copying commons-math-2.1.jar to /home/user/luke-master/target/lib/commons-math-2.1.jar
[INFO] Copying commons-io-2.5.jar to /home/user/luke-master/target/lib/commons-io-2.5.jar
[INFO] Copying presto-parser-0.122.jar to /home/user/luke-master/target/lib/presto-parser-0.122.jar
[INFO] Copying jackson-core-2.5.4.jar to /home/user/luke-master/target/lib/jackson-core-2.5.4.jar
[INFO] Copying commons-configuration-1.6.jar to /home/user/luke-master/target/lib/commons-configuration-1.6.jar
[INFO] Copying jersey-core-1.8.jar to /home/user/luke-master/target/lib/jersey-core-1.8.jar
[INFO] Copying curator-recipes-2.8.0.jar to /home/user/luke-master/target/lib/curator-recipes-2.8.0.jar
[INFO] Copying jetty-http-9.3.8.v20160314.jar to /home/user/luke-master/target/lib/jetty-http-9.3.8.v20160314.jar
[INFO] Copying junit-4.11.jar to /home/user/luke-master/target/lib/junit-4.11.jar
[INFO] Copying lucene-analyzers-kuromoji-6.2.1.jar to /home/user/luke-master/target/lib/lucene-analyzers-kuromoji-6.2.1.jar
[INFO] Copying solr-core-6.2.1.jar to /home/user/luke-master/target/lib/solr-core-6.2.1.jar
[INFO] Copying slice-0.10.jar to /home/user/luke-master/target/lib/slice-0.10.jar
[INFO] Copying commons-cli-1.2.jar to /home/user/luke-master/target/lib/commons-cli-1.2.jar
[INFO] Copying jetty-security-9.3.8.v20160314.jar to /home/user/luke-master/target/lib/jetty-security-9.3.8.v20160314.jar
[INFO] Copying servlet-api-2.5-20081211.jar to /home/user/luke-master/target/lib/servlet-api-2.5-20081211.jar
[INFO] Copying stax2-api-3.1.4.jar to /home/user/luke-master/target/lib/stax2-api-3.1.4.jar
[INFO] Copying commons-collections-3.2.2.jar to /home/user/luke-master/target/lib/commons-collections-3.2.2.jar
[INFO] Copying jasper-compiler-5.5.12.jar to /home/user/luke-master/target/lib/jasper-compiler-5.5.12.jar
[INFO] Copying lucene-sandbox-6.2.1.jar to /home/user/luke-master/target/lib/lucene-sandbox-6.2.1.jar
[INFO] Copying hadoop-auth-2.7.2.jar to /home/user/luke-master/target/lib/hadoop-auth-2.7.2.jar
[INFO] Copying hadoop-common-2.7.2.jar to /home/user/luke-master/target/lib/hadoop-common-2.7.2.jar
[INFO] Copying jettison-1.1.jar to /home/user/luke-master/target/lib/jettison-1.1.jar
[INFO] Copying jersey-server-1.8.jar to /home/user/luke-master/target/lib/jersey-server-1.8.jar
[INFO] Copying jetty-servlets-9.3.8.v20160314.jar to /home/user/luke-master/target/lib/jetty-servlets-9.3.8.v20160314.jar
[INFO] Copying slf4j-log4j12-1.7.7.jar to /home/user/luke-master/target/lib/slf4j-log4j12-1.7.7.jar
[INFO] Copying commons-logging-1.0.3.jar to /home/user/luke-master/target/lib/commons-logging-1.0.3.jar
[INFO] Copying rhino-1.7R4.jar to /home/user/luke-master/target/lib/rhino-1.7R4.jar
[INFO] Copying noggit-0.6.jar to /home/user/luke-master/target/lib/noggit-0.6.jar
[INFO] Copying jersey-json-1.8.jar to /home/user/luke-master/target/lib/jersey-json-1.8.jar
[INFO] Copying lucene-classification-6.2.1.jar to /home/user/luke-master/target/lib/lucene-classification-6.2.1.jar
[INFO] Copying htrace-core-3.2.0-incubating.jar to /home/user/luke-master/target/lib/htrace-core-3.2.0-incubating.jar
[INFO] Copying asm-5.1.jar to /home/user/luke-master/target/lib/asm-5.1.jar
[INFO]
[INFO] --- maven-shade-plugin:2.3:shade (default) @ luke ---
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.jar (30 KB at 73.8 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.jar (64 KB at 133.6 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.jar (35 KB at 58.7 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.jar (153 KB at 221.9 KB/sec)
[INFO] Including org.apache.lucene:lucene-core:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-analyzers-common:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-misc:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-queries:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-queryparser:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-sandbox:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.solr:solr-solrj:jar:6.2.1 in the shaded jar.
[INFO] Including com.fasterxml.jackson.core:jackson-annotations:jar:2.5.4 in the shaded jar.
[INFO] Including com.fasterxml.jackson.core:jackson-core:jar:2.5.4 in the shaded jar.
[INFO] Including com.fasterxml.jackson.core:jackson-databind:jar:2.5.4 in the shaded jar.
[INFO] Including com.google.guava:guava:jar:14.0.1 in the shaded jar.
[INFO] Including commons-io:commons-io:jar:2.5 in the shaded jar.
[INFO] Including org.apache.httpcomponents:httpclient:jar:4.4.1 in the shaded jar.
[INFO] Including org.apache.httpcomponents:httpcore:jar:4.4.1 in the shaded jar.
[INFO] Including org.apache.httpcomponents:httpmime:jar:4.4.1 in the shaded jar.
[INFO] Including org.apache.zookeeper:zookeeper:jar:3.4.6 in the shaded jar.
[INFO] Including org.codehaus.woodstox:stax2-api:jar:3.1.4 in the shaded jar.
[INFO] Including org.codehaus.woodstox:woodstox-core-asl:jar:4.4.1 in the shaded jar.
[INFO] Including org.noggit:noggit:jar:0.6 in the shaded jar.
[INFO] Including org.slf4j:jcl-over-slf4j:jar:1.7.7 in the shaded jar.
[INFO] Including org.slf4j:slf4j-api:jar:1.7.7 in the shaded jar.
[INFO] Including org.apache.solr:solr-core:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-analyzers-kuromoji:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-analyzers-phonetic:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-backward-codecs:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-classification:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-codecs:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-expressions:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-grouping:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-highlighter:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-join:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-memory:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-spatial-extras:jar:6.2.1 in the shaded jar.
[INFO] Including org.apache.lucene:lucene-suggest:jar:6.2.1 in the shaded jar.
[INFO] Including com.carrotsearch:hppc:jar:0.7.1 in the shaded jar.
[INFO] Including com.facebook.presto:presto-parser:jar:0.122 in the shaded jar.
[INFO] Including com.fasterxml.jackson.dataformat:jackson-dataformat-smile:jar:2.5.4 in the shaded jar.
[INFO] Including com.github.ben-manes.caffeine:caffeine:jar:1.0.1 in the shaded jar.
[INFO] Including com.google.protobuf:protobuf-java:jar:2.5.0 in the shaded jar.
[INFO] Including com.tdunning:t-digest:jar:3.1 in the shaded jar.
[INFO] Including commons-cli:commons-cli:jar:1.2 in the shaded jar.
[INFO] Including commons-codec:commons-codec:jar:1.10 in the shaded jar.
[INFO] Including commons-collections:commons-collections:jar:3.2.2 in the shaded jar.
[INFO] Including commons-configuration:commons-configuration:jar:1.6 in the shaded jar.
[INFO] Including commons-fileupload:commons-fileupload:jar:1.3.1 in the shaded jar.
[INFO] Including commons-lang:commons-lang:jar:2.6 in the shaded jar.
[INFO] Including dom4j:dom4j:jar:1.6.1 in the shaded jar.
[INFO] Including io.airlift:slice:jar:0.10 in the shaded jar.
[INFO] Including javax.servlet:javax.servlet-api:jar:3.1.0 in the shaded jar.
[INFO] Including joda-time:joda-time:jar:2.2 in the shaded jar.
[INFO] Including org.antlr:antlr4-runtime:jar:4.5.1-1 in the shaded jar.
[INFO] Including org.apache.commons:commons-exec:jar:1.3 in the shaded jar.
[INFO] Including org.apache.curator:curator-client:jar:2.8.0 in the shaded jar.
[INFO] Including org.apache.curator:curator-framework:jar:2.8.0 in the shaded jar.
[INFO] Including org.apache.curator:curator-recipes:jar:2.8.0 in the shaded jar.
[INFO] Including org.apache.hadoop:hadoop-annotations:jar:2.7.2 in the shaded jar.
[INFO] Including org.apache.hadoop:hadoop-auth:jar:2.7.2 in the shaded jar.
[INFO] Including org.apache.hadoop:hadoop-common:jar:2.7.2 in the shaded jar.
[INFO] Including org.apache.hadoop:hadoop-hdfs:jar:2.7.2 in the shaded jar.
[INFO] Including org.apache.htrace:htrace-core:jar:3.2.0-incubating in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-continuation:jar:9.3.8.v20160314 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-deploy:jar:9.3.8.v20160314 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-http:jar:9.3.8.v20160314 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-io:jar:9.3.8.v20160314 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-jmx:jar:9.3.8.v20160314 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-rewrite:jar:9.3.8.v20160314 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-security:jar:9.3.8.v20160314 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-server:jar:9.3.8.v20160314 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-servlet:jar:9.3.8.v20160314 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-servlets:jar:9.3.8.v20160314 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-util:jar:9.3.8.v20160314 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-webapp:jar:9.3.8.v20160314 in the shaded jar.
[INFO] Including org.eclipse.jetty:jetty-xml:jar:9.3.8.v20160314 in the shaded jar.
[INFO] Including org.locationtech.spatial4j:spatial4j:jar:0.6 in the shaded jar.
[INFO] Including org.ow2.asm:asm:jar:5.1 in the shaded jar.
[INFO] Including org.ow2.asm:asm-commons:jar:5.1 in the shaded jar.
[INFO] Including org.restlet.jee:org.restlet:jar:2.3.0 in the shaded jar.
[INFO] Including org.restlet.jee:org.restlet.ext.servlet:jar:2.3.0 in the shaded jar.
[INFO] Including org.apache.hadoop:hadoop-core:jar:1.2.1 in the shaded jar.
[INFO] Including xmlenc:xmlenc:jar:0.52 in the shaded jar.
[INFO] Including com.sun.jersey:jersey-core:jar:1.8 in the shaded jar.
[INFO] Including com.sun.jersey:jersey-json:jar:1.8 in the shaded jar.
[INFO] Including org.codehaus.jettison:jettison:jar:1.1 in the shaded jar.
[INFO] Including stax:stax-api:jar:1.0.1 in the shaded jar.
[INFO] Including com.sun.xml.bind:jaxb-impl:jar:2.2.3-1 in the shaded jar.
[INFO] Including javax.xml.bind:jaxb-api:jar:2.2.2 in the shaded jar.
[INFO] Including javax.xml.stream:stax-api:jar:1.0-2 in the shaded jar.
[INFO] Including javax.activation:activation:jar:1.1 in the shaded jar.
[INFO] Including org.codehaus.jackson:jackson-core-asl:jar:1.7.1 in the shaded jar.
[INFO] Including org.codehaus.jackson:jackson-jaxrs:jar:1.7.1 in the shaded jar.
[INFO] Including org.codehaus.jackson:jackson-xc:jar:1.7.1 in the shaded jar.
[INFO] Including com.sun.jersey:jersey-server:jar:1.8 in the shaded jar.
[INFO] Including asm:asm:jar:3.1 in the shaded jar.
[INFO] Including commons-httpclient:commons-httpclient:jar:3.0.1 in the shaded jar.
[INFO] Including commons-logging:commons-logging:jar:1.0.3 in the shaded jar.
[INFO] Including org.apache.commons:commons-math:jar:2.1 in the shaded jar.
[INFO] Including commons-net:commons-net:jar:1.4.1 in the shaded jar.
[INFO] Including org.mortbay.jetty:jetty:jar:6.1.26 in the shaded jar.
[INFO] Including org.mortbay.jetty:servlet-api:jar:2.5-20081211 in the shaded jar.
[INFO] Including org.mortbay.jetty:jetty-util:jar:6.1.26 in the shaded jar.
[INFO] Including tomcat:jasper-runtime:jar:5.5.12 in the shaded jar.
[INFO] Including tomcat:jasper-compiler:jar:5.5.12 in the shaded jar.
[INFO] Including org.mortbay.jetty:jsp-api-2.1:jar:6.1.14 in the shaded jar.
[INFO] Including org.mortbay.jetty:servlet-api-2.5:jar:6.1.14 in the shaded jar.
[INFO] Including org.mortbay.jetty:jsp-2.1:jar:6.1.14 in the shaded jar.
[INFO] Including ant:ant:jar:1.6.5 in the shaded jar.
[INFO] Including commons-el:commons-el:jar:1.0 in the shaded jar.
[INFO] Including net.java.dev.jets3t:jets3t:jar:0.6.1 in the shaded jar.
[INFO] Including hsqldb:hsqldb:jar:1.8.0.10 in the shaded jar.
[INFO] Including oro:oro:jar:2.0.8 in the shaded jar.
[INFO] Including org.eclipse.jdt:core:jar:3.1.1 in the shaded jar.
[INFO] Including org.codehaus.jackson:jackson-mapper-asl:jar:1.8.8 in the shaded jar.
[INFO] Including org.mozilla:rhino:jar:1.7R4 in the shaded jar.
[INFO] Including net.sf.ehcache:ehcache:jar:2.9.0 in the shaded jar.
[INFO] Including log4j:log4j:jar:1.2.17 in the shaded jar.
[INFO] Including org.slf4j:slf4j-log4j12:jar:1.7.7 in the shaded jar.
[WARNING] jasper-compiler-5.5.12.jar, jsp-2.1-6.1.14.jar, jasper-runtime-5.5.12.jar define 1 overlappping classes:
[WARNING] - org.apache.jasper.compiler.Localizer
[WARNING] hadoop-auth-2.7.2.jar, hadoop-core-1.2.1.jar define 21 overlappping classes:
[WARNING] - org.apache.hadoop.security.authentication.server.AuthenticationFilter
[WARNING] - org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler
[WARNING] - org.apache.hadoop.security.authentication.util.KerberosUtil
[WARNING] - org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler$KerberosConfiguration
[WARNING] - org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler
[WARNING] - org.apache.hadoop.security.authentication.client.AuthenticationException
[WARNING] - org.apache.hadoop.security.authentication.client.AuthenticatedURL
[WARNING] - org.apache.hadoop.security.authentication.client.AuthenticatedURL$Token
[WARNING] - org.apache.hadoop.security.authentication.util.Signer
[WARNING] - org.apache.hadoop.security.authentication.client.Authenticator
[WARNING] - 11 more...
[WARNING] hadoop-common-2.7.2.jar, hadoop-core-1.2.1.jar define 709 overlappping classes:
[WARNING] - org.apache.hadoop.io.retry.RetryPolicies$MultipleLinearRandomRetry
[WARNING] - org.apache.hadoop.io.ArrayFile
[WARNING] - org.apache.hadoop.metrics2.impl.MetricGaugeLong
[WARNING] - org.apache.hadoop.io.compress.zlib.ZlibCompressor$CompressionStrategy
[WARNING] - org.apache.hadoop.metrics.spi.AbstractMetricsContext
[WARNING] - org.apache.hadoop.util.GenericsUtil
[WARNING] - org.apache.hadoop.fs.FileSystem$Cache
[WARNING] - org.apache.hadoop.io.retry.RetryPolicies$1
[WARNING] - org.apache.hadoop.metrics.spi.NullContextWithUpdateThread
[WARNING] - org.apache.hadoop.io.compress.DecompressorStream
[WARNING] - 699 more...
[WARNING] servlet-api-2.5-20081211.jar, javax.servlet-api-3.1.0.jar, servlet-api-2.5-6.1.14.jar define 42 overlappping classes:
[WARNING] - javax.servlet.http.HttpSessionBindingEvent
[WARNING] - javax.servlet.http.Cookie
[WARNING] - javax.servlet.http.NoBodyResponse
[WARNING] - javax.servlet.ServletContext
[WARNING] - javax.servlet.ServletOutputStream
[WARNING] - javax.servlet.http.HttpSessionListener
[WARNING] - javax.servlet.http.HttpSessionContext
[WARNING] - javax.servlet.FilterChain
[WARNING] - javax.servlet.GenericServlet
[WARNING] - javax.servlet.http.HttpServletRequestWrapper
[WARNING] - 32 more...
[WARNING] hadoop-annotations-2.7.2.jar, hadoop-core-1.2.1.jar define 8 overlappping classes:
[WARNING] - org.apache.hadoop.classification.InterfaceStability
[WARNING] - org.apache.hadoop.classification.InterfaceAudience$Private
[WARNING] - org.apache.hadoop.classification.InterfaceAudience$LimitedPrivate
[WARNING] - org.apache.hadoop.classification.InterfaceStability$Evolving
[WARNING] - org.apache.hadoop.classification.InterfaceStability$Stable
[WARNING] - org.apache.hadoop.classification.InterfaceAudience
[WARNING] - org.apache.hadoop.classification.InterfaceAudience$Public
[WARNING] - org.apache.hadoop.classification.InterfaceStability$Unstable
[WARNING] commons-logging-1.0.3.jar, jcl-over-slf4j-1.7.7.jar define 6 overlappping classes:
[WARNING] - org.apache.commons.logging.impl.SimpleLog$1
[WARNING] - org.apache.commons.logging.Log
[WARNING] - org.apache.commons.logging.impl.SimpleLog
[WARNING] - org.apache.commons.logging.LogConfigurationException
[WARNING] - org.apache.commons.logging.impl.NoOpLog
[WARNING] - org.apache.commons.logging.LogFactory
[WARNING] jsp-2.1-6.1.14.jar, jasper-runtime-5.5.12.jar define 43 overlappping classes:
[WARNING] - org.apache.jasper.runtime.PerThreadTagHandlerPool$1
[WARNING] - org.apache.jasper.runtime.JspFactoryImpl$PrivilegedGetPageContext
[WARNING] - org.apache.jasper.runtime.PageContextImpl$4
[WARNING] - org.apache.jasper.runtime.JspSourceDependent
[WARNING] - org.apache.jasper.runtime.JspRuntimeLibrary$PrivilegedIntrospectHelper
[WARNING] - org.apache.jasper.runtime.PageContextImpl$2
[WARNING] - org.apache.jasper.Constants
[WARNING] - org.apache.jasper.runtime.ProtectedFunctionMapper$2
[WARNING] - org.apache.jasper.runtime.PageContextImpl
[WARNING] - org.apache.jasper.runtime.PageContextImpl$11
[WARNING] - 33 more...
[WARNING] asm-5.1.jar, asm-3.1.jar define 21 overlappping classes:
[WARNING] - org.objectweb.asm.Type
[WARNING] - org.objectweb.asm.AnnotationVisitor
[WARNING] - org.objectweb.asm.MethodVisitor
[WARNING] - org.objectweb.asm.Attribute
[WARNING] - org.objectweb.asm.FieldWriter
[WARNING] - org.objectweb.asm.signature.SignatureWriter
[WARNING] - org.objectweb.asm.MethodWriter
[WARNING] - org.objectweb.asm.Edge
[WARNING] - org.objectweb.asm.Handler
[WARNING] - org.objectweb.asm.ByteVector
[WARNING] - 11 more...
[WARNING] hadoop-hdfs-2.7.2.jar, hadoop-core-1.2.1.jar define 265 overlappping classes:
[WARNING] - org.apache.hadoop.hdfs.server.datanode.DataStorage$4
[WARNING] - org.apache.hadoop.hdfs.server.namenode.FsckServlet
[WARNING] - org.apache.hadoop.hdfs.web.resources.DelegationParam
[WARNING] - org.apache.hadoop.hdfs.web.resources.Param
[WARNING] - org.apache.hadoop.hdfs.web.resources.BooleanParam$Domain
[WARNING] - org.apache.hadoop.hdfs.web.resources.UriFsPathParam
[WARNING] - org.apache.hadoop.hdfs.server.namenode.NameCache
[WARNING] - org.apache.hadoop.hdfs.web.AuthFilter$1$1
[WARNING] - org.apache.hadoop.hdfs.web.resources.IntegerParam
[WARNING] - org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException
[WARNING] - 255 more...
[WARNING] jasper-compiler-5.5.12.jar, jsp-2.1-6.1.14.jar define 143 overlappping classes:
[WARNING] - org.apache.jasper.compiler.Node$Nodes
[WARNING] - org.apache.jasper.compiler.tagplugin.TagPlugin
[WARNING] - org.apache.jasper.compiler.JspUtil
[WARNING] - org.apache.jasper.xmlparser.MyEntityResolver
[WARNING] - org.apache.jasper.compiler.Validator$TagExtraInfoVisitor
[WARNING] - org.apache.jasper.compiler.SmapGenerator
[WARNING] - org.apache.jasper.compiler.SmapStratum
[WARNING] - org.apache.jasper.compiler.tagplugin.TagPluginContext
[WARNING] - org.apache.jasper.compiler.JasperTagInfo
[WARNING] - org.apache.jasper.EmbeddedServletOptions
[WARNING] - 133 more...
[WARNING] stax-api-1.0-2.jar, stax-api-1.0.1.jar define 37 overlappping classes:
[WARNING] - javax.xml.stream.XMLEventReader
[WARNING] - javax.xml.stream.StreamFilter
[WARNING] - javax.xml.stream.FactoryFinder$ClassLoaderFinderConcrete
[WARNING] - javax.xml.stream.util.StreamReaderDelegate
[WARNING] - javax.xml.stream.EventFilter
[WARNING] - javax.xml.stream.events.StartDocument
[WARNING] - javax.xml.stream.XMLEventWriter
[WARNING] - javax.xml.stream.XMLStreamConstants
[WARNING] - javax.xml.stream.events.EntityDeclaration
[WARNING] - javax.xml.stream.events.ProcessingInstruction
[WARNING] - 27 more...
[WARNING] maven-shade-plugin has detected that some .class files
[WARNING] are present in two or more JARs. When this happens, only
[WARNING] one single version of the class is copied in the uberjar.
[WARNING] Usually this is not harmful and you can skeep these
[WARNING] warnings, otherwise try to manually exclude artifacts
[WARNING] based on mvn dependency:tree -Ddetail=true and the above
[WARNING] output
[WARNING] See http://docs.codehaus.org/display/MAVENUSER/Shade+Plugin
[INFO] Replacing /home/user/luke-master/target/luke-with-deps.jar with /home/user/luke-master/target/luke-6.2.1-shaded.jar
[INFO]
[INFO] --- maven-assembly-plugin:2.4:single (default) @ luke ---
[INFO] Reading assembly descriptor: src/main/assembly/assembly.xml
[INFO] Building tar: /home/user/luke-master/target/luke-6.2.1-luke-release.tar.gz
[INFO] Building zip: /home/user/luke-master/target/luke-6.2.1-luke-release.zip
[INFO]
[INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ luke >>>
[INFO]
[INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ luke <<<
[INFO]
[INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ luke ---
[INFO] Building jar: /home/user/luke-master/target/luke-6.2.1-sources.jar
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ luke ---
[INFO] Installing /home/user/luke-master/target/luke-6.2.1.jar to /home/user/.m2/repository/luke/luke/6.2.1/luke-6.2.1.jar
[INFO] Installing /home/user/luke-master/pom.xml to /home/user/.m2/repository/luke/luke/6.2.1/luke-6.2.1.pom
[INFO] Installing /home/user/luke-master/target/luke-6.2.1-luke-release.tar.gz to /home/user/.m2/repository/luke/luke/6.2.1/luke-6.2.1-luke-release.tar.gz
[INFO] Installing /home/user/luke-master/target/luke-6.2.1-luke-release.zip to /home/user/.m2/repository/luke/luke/6.2.1/luke-6.2.1-luke-release.zip
[INFO] Installing /home/user/luke-master/target/luke-6.2.1-sources.jar to /home/user/.m2/repository/luke/luke/6.2.1/luke-6.2.1-sources.jar
[INFO]
[INFO] --- maven-antrun-plugin:1.3:run (default) @ luke ---
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/2.0.4/maven-plugin-api-2.0.4.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-project/2.0.4/maven-project-2.0.4.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings/2.0.4/maven-settings-2.0.4.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-profile/2.0.4/maven-profile-2.0.4.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-model/2.0.4/maven-model-2.0.4.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-profile/2.0.4/maven-profile-2.0.4.jar (30 KB at 74.9 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact-manager/2.0.4/maven-artifact-manager-2.0.4.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/2.0.4/maven-plugin-api-2.0.4.jar (9 KB at 18.6 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/2.0.4/maven-repository-metadata-2.0.4.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings/2.0.4/maven-settings-2.0.4.jar (43 KB at 96.3 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/2.0.4/maven-artifact-2.0.4.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/2.0.4/maven-repository-metadata-2.0.4.jar (20 KB at 22.2 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/2.0.4/maven-artifact-2.0.4.jar (79 KB at 88.3 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact-manager/2.0.4/maven-artifact-manager-2.0.4.jar (48 KB at 49.6 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-model/2.0.4/maven-model-2.0.4.jar (79 KB at 80.7 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-project/2.0.4/maven-project-2.0.4.jar (107 KB at 108.1 KB/sec)
[INFO] Executing tasks
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 03:31 min
[INFO] Finished at: 2016-10-02T16:40:18+08:00
[INFO] Final Memory: 56M/866M
[INFO] ------------------------------------------------------------------------
user@localhost:~/luke-master$
</code></pre>
<br />
At first, I compile luke using <i>ant</i>, apparently some lib dependencies were not satisfy. Fear not! luke come with maven pom file and I just run command <i>mvn</i>. The result of build is success as you can see! Fantastic!<br />
<br />
Let's inspect the directory again and we should see some binaries built.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/luke-master$ ls
total 80K
drwxr-xr-x 4 user user 4.0K Sep 30 20:42 src
-rw-r--r-- 1 user user 3.6K Sep 30 20:42 README.md
-rwxr-xr-x 1 user user 11K Sep 30 20:42 pom.xml
-rwxr-xr-x 1 user user 691 Sep 30 20:42 luke.sh
-rw-r--r-- 1 user user 1.5K Sep 30 20:42 luke.gif
-rw-r--r-- 1 user user 44 Sep 30 20:42 luke.bat
drwxr-xr-x 3 user user 4.0K Sep 30 20:42 docs
-rw-r--r-- 1 user user 21K Sep 30 20:42 CHANGES.txt
-rw-r--r-- 1 user user 4.1K Sep 30 20:42 build.xml
drwxr-xr-x 2 user user 4.0K Oct 2 16:36 dist
drwxr-xr-x 2 user user 4.0K Oct 2 16:36 build
drwxr-xr-x 10 user user 4.0K Oct 2 16:40 target
user@localhost:~/luke-master$ ls target/
total 201M
drwxr-xr-x 3 user user 4.0K Oct 2 16:40 maven-status
drwxr-xr-x 3 user user 4.0K Oct 2 16:40 generated-sources
drwxr-xr-x 6 user user 4.0K Oct 2 16:40 classes
drwxr-xr-x 3 user user 4.0K Oct 2 16:40 generated-test-sources
drwxr-xr-x 3 user user 4.0K Oct 2 16:40 test-classes
drwxr-xr-x 2 user user 4.0K Oct 2 16:40 maven-archiver
-rw-r--r-- 1 user user 338K Oct 2 16:40 luke-6.2.1.jar
drwxr-xr-x 2 user user 4.0K Oct 2 16:40 lib
-rw-r--r-- 1 user user 70M Oct 2 16:40 luke-with-deps.jar
drwxr-xr-x 2 user user 4.0K Oct 2 16:40 archive-tmp
-rw-r--r-- 1 user user 63M Oct 2 16:40 luke-6.2.1-luke-release.tar.gz
-rw-r--r-- 1 user user 70M Oct 2 16:40 luke-6.2.1-luke-release.zip
-rw-r--r-- 1 user user 203K Oct 2 16:40 luke-6.2.1-sources.jar
</code></pre>
<br />
sweet, everything is in order, we have binary build in target directory. Let's launch luke!<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/luke-master$ ./luke.sh
Unable to find the LUKE_PATH environnement variable...
Assuming you're running from the root folder of luke...
Gtk-Message: Failed to load module "canberra-gtk-module"
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/user/luke-master/target/luke-with-deps.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/user/luke-master/target/lib/slf4j-log4j12-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
</code></pre>
<br />
I attach some screenshots below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp_2ipVQMkAPt7vHcbEMM_TRQJ8T3nSJqBvrnSwBFdfoUPSIHDlUxeo4o53lIQD-OTpqD_XASDL9_ZdKrUKhQidQZjIex7mzqCZQnGqV-4Vd_mYsxdBcakA3OorBYbpKz7HjgqOkzkSv9j/s1600/luke-6_2_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp_2ipVQMkAPt7vHcbEMM_TRQJ8T3nSJqBvrnSwBFdfoUPSIHDlUxeo4o53lIQD-OTpqD_XASDL9_ZdKrUKhQidQZjIex7mzqCZQnGqV-4Vd_mYsxdBcakA3OorBYbpKz7HjgqOkzkSv9j/s640/luke-6_2_1.png" width="640" /></a></div>
<br />
When luke is launched, it ask to locate the lucene index, I just pointed to the index which I created during a hackathon. This index is created using elasticsearch 2.3.3 and apparently luke version 6.2.1 read fine on this index. You should try it!</div>
Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-37386863582005838302017-07-15T00:00:00.000+08:002017-07-15T00:00:11.052+08:00elasticsearch 2.2 does not allow dot in fieldnameToday we will take another look at the <b>elasticsearch 2.2</b> exception. Below is the stacktrace,<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> [2016-06-26 00:06:48,265][DEBUG][action.admin.indices.mapping.put] [node1] failed to put mappings on indices [[my_index]], type [my_type]
MapperParsingException[Field name [foo.bar] cannot contain '.']
at org.elasticsearch.index.mapper.object.ObjectMapper$TypeParser.parseProperties(ObjectMapper.java:276)
at org.elasticsearch.index.mapper.object.ObjectMapper$TypeParser.parseObjectOrDocumentTypeProperties(ObjectMapper.java:221)
at org.elasticsearch.index.mapper.object.RootObjectMapper$TypeParser.parse(RootObjectMapper.java:138)
at org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.java:119)
at org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.java:100)
at org.elasticsearch.index.mapper.MapperService.parse(MapperService.java:435)
at org.elasticsearch.cluster.metadata.MetaDataMappingService$PutMappingExecutor.applyRequest(MetaDataMappingService.java:257)
at org.elasticsearch.cluster.metadata.MetaDataMappingService$PutMappingExecutor.execute(MetaDataMappingService.java:230)
at org.elasticsearch.cluster.service.InternalClusterService.runTasksForExecutor(InternalClusterService.java:458)
at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:762)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:231)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:194)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
</code></pre>
<br />
It turn out that the map key cannot contain dot, read the <a href="https://github.com/elastic/elasticsearch/blob/v2.2.1/core/src/main/java/org/elasticsearch/index/mapper/object/ObjectMapper.java#L275-L277">method parsePropeties</a> below, I supposed this break a lot and yet it can be easily replace with an underscore before index.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> protected static void parseProperties(ObjectMapper.Builder objBuilder, Map<String, Object> propsNode, ParserContext parserContext) {
Iterator<Map.Entry<String, Object>> iterator = propsNode.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Object> entry = iterator.next();
String fieldName = entry.getKey();
if (fieldName.contains(".")) {
throw new MapperParsingException("Field name [" + fieldName + "] cannot contain '.'");
}
</code></pre>
<br />
These are some url to help you better understand why dot is removed in elasticsearch 2.x<br />
<br />
<ul>
<li>https://discuss.elastic.co/t/field-name-cannot-contain/33251/48</li>
<li>https://github.com/elastic/elasticsearch/commit/aed1f68e494c65ad50b98a3e0a7a2b6a794b2965 </li>
<li>https://www.elastic.co/guide/en/elasticsearch/reference/2.0/breaking_20_mapping_changes.html#_field_names_may_not_contain_dots</li>
<li>https://github.com/elastic/elasticsearch/issues/15951</li>
<li>https://github.com/elastic/elasticsearch/issues/14594</li>
<li>https://github.com/elastic/elasticsearch/issues/14957</li>
</ul>
<br />
<div>
but yet, <a href="https://www.elastic.co/guide/en/elasticsearch/reference/2.4/dots-in-names.html">in elasticsearch 5, dot is allow back</a>? oh my gawd, what's your take?</div>
<div>
<br /></div>
Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-78174026888206252612017-07-14T00:00:00.000+08:002017-07-14T00:00:05.281+08:00elasticsearch 2.2.1 upsert with exception document already existso why is the following operation throwing exception?<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;">1: [2016-06-26 00:00:51,357][INFO ][rest.suppressed ] /<my_index>/<my_type>/1123456789.123456789/_update Params: {version_type=force, doc_as_upsert=true, index=<my_index>, op_type=create, id=1123456789.123456789, type=<my_type>, consistency=one, version=1466892051270, ttl=1814400000ms}
2: RemoteTransportException[[node1][123.123.123.123:8700][indices:data/write/update[s]]]; nested: DocumentAlreadyExistsException[[session][1123456789.123456789]: document already exists];
3: Caused by: [<my_index>][[<my_index>][3]] DocumentAlreadyExistsException[[<my_type>][1123456789.123456789]: document already exists]
4: at org.elasticsearch.index.engine.InternalEngine.innerCreateNoLock(InternalEngine.java:421)
5: at org.elasticsearch.index.engine.InternalEngine.innerCreate(InternalEngine.java:378)
6: at org.elasticsearch.index.engine.InternalEngine.create(InternalEngine.java:349)
7: at org.elasticsearch.index.shard.IndexShard.create(IndexShard.java:545)
8: at org.elasticsearch.index.engine.Engine$Create.execute(Engine.java:810)
9: at org.elasticsearch.action.index.TransportIndexAction.executeIndexRequestOnPrimary(TransportIndexAction.java:236)
10: at org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:157)
11: at org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:65)
12: at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryPhase.doRun(TransportReplicationAction.java:595)
13: at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
14: at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryOperationTransportHandler.messageReceived(TransportReplicationAction.java:263)
15: at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryOperationTransportHandler.messageReceived(TransportReplicationAction.java:260)
16: at org.elasticsearch.transport.TransportService$4.doRun(TransportService.java:350)
17: at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
18: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
19: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
20: at java.lang.Thread.run(Thread.java:745)
</code></pre>
<br />
well, some background,<br />
* <b>elasticsearch 2.2.1</b><br />
* java8<br />
* upsert operation<br />
* version external<br />
* version type force<br />
* ttl enabled<br />
* consistency one<br />
<div>
<br /></div>
<div>
<div>
As usual, google first, <a href="https://github.com/elastic/elasticsearch/pull/13955">this come close</a> but solve in elasticsearch version 5a. Upgrade not a chance yet. At least not for production with alpha release. Now we trace into the code. On the top of the stack, </div>
<div>
<br /></div>
<blockquote class="tr_bq">
at org.elasticsearch.index.engine.InternalEngine.innerCreateNoLock(InternalEngine.java:421)</blockquote>
<div>
<br /></div>
<div>
I <a href="https://github.com/elastic/elasticsearch/blob/v2.2.1/core/src/main/java/org/elasticsearch/index/engine/InternalEngine.java#L421">extracted out the method</a> for easier discussion.</div>
</div>
<div>
<br /></div>
<div>
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;">1: private void innerCreateNoLock(Create create, long currentVersion, VersionValue versionValue) throws IOException {
2:
3: // same logic as index
4: long updatedVersion;
5: long expectedVersion = create.version();
6: if (create.versionType().isVersionConflictForWrites(currentVersion, expectedVersion)) {
7: if (create.origin() == Operation.Origin.RECOVERY) {
8: return;
9: } else {
10: throw new VersionConflictEngineException(shardId, create.type(), create.id(), currentVersion, expectedVersion);
11: }
12: }
13: updatedVersion = create.versionType().updateVersion(currentVersion, expectedVersion);
14:
15: // if the doc exists
16: boolean doUpdate = false;
17: if ((versionValue != null && versionValue.delete() == false) || (versionValue == null && currentVersion != Versions.NOT_FOUND)) {
18: if (create.origin() == Operation.Origin.RECOVERY) {
19: return;
20: } else if (create.origin() == Operation.Origin.REPLICA) {
21: // #7142: the primary already determined it's OK to index this document, and we confirmed above that the version doesn't
22: // conflict, so we must also update here on the replica to remain consistent:
23: doUpdate = true;
24: } else if (create.origin() == Operation.Origin.PRIMARY && create.autoGeneratedId() && create.canHaveDuplicates() &&
25: currentVersion == 1 && create.version() == Versions.MATCH_ANY) {
26: /**
27: * If bulk index request fails due to a disconnect, unavailable shard etc. then the request is
28: * retried before it actually fails. However, the documents might already be indexed.
29: * For autogenerated ids this means that a version conflict will be reported in the bulk request
30: * although the document was indexed properly.
31: * To avoid this we have to make sure that the index request is treated as an update and set updatedVersion to 1.
32: * See also discussion on https://github.com/elasticsearch/elasticsearch/pull/9125
33: */
34: doUpdate = true;
35: updatedVersion = 1;
36: } else {
37: // On primary, we throw DAEE if the _uid is already in the index with an older version:
38: assert create.origin() == Operation.Origin.PRIMARY;
39: throw new DocumentAlreadyExistsException(shardId, create.type(), create.id());
40: }
41: }
42:
43: create.updateVersion(updatedVersion);
44:
45: if (doUpdate) {
46: if (create.docs().size() > 1) {
47: indexWriter.updateDocuments(create.uid(), create.docs());
48: } else {
49: indexWriter.updateDocument(create.uid(), create.docs().get(0));
50: }
51: } else {
52: if (create.docs().size() > 1) {
53: indexWriter.addDocuments(create.docs());
54: } else {
55: indexWriter.addDocument(create.docs().get(0));
56: }
57: }
58: Translog.Location translogLocation = translog.add(new Translog.Create(create));
59:
60: versionMap.putUnderLock(create.uid().bytes(), new VersionValue(updatedVersion, translogLocation));
61: create.setTranslogLocation(translogLocation);
62: indexingService.postCreateUnderLock(create);
63: }
</code></pre>
<div>
<br /></div>
<div>
It looks like it is safe to retry on this upsert operation. Read further <a href="https://github.com/elastic/elasticsearch/pull/9125#issuecomment-68523545">discussion here</a>.<br />
<br />
What do you think? Leave your comment below!</div>
</div>
Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-26909225098068160932017-07-02T00:00:00.000+08:002017-07-02T00:00:23.250+08:00PMD source code analyzerWriting code has been always my liking and passion and today, I came across this code analyzer software called <b>PMD</b> and thought of give it a try. According to <a href="https://pmd.github.io/">PMD</a>,<br />
<blockquote class="tr_bq">
<br />
PMD is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation, and so forth. It supports Java, JavaScript, Salesforce.com Apex, PLSQL, Apache Velocity, XML, XSL.<br />
Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code in Java, C, C++, C#, PHP, Ruby, Fortran, JavaScript, PLSQL, Apache Velocity, Ruby, Scala, Objective C, Matlab, Python, Go, Swift and Salesforce.com Apex.</blockquote>
<br />
Damn a lot of languages support I must say, so probably you want to try this as well. As usual, let's get it download and test it. At this writing, I downloaded version <i>5.5.1</i> and extracted to a public repository of mine, you can see below. Very intuitive and easy.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;">
user@localhost:~/videoOnCloud/pmd/pmd-bin-5.5.1$ ./bin/run.sh help
help is NOT a valid application name, valid options are:pmd, cpd, cpdgui, designer, bgastviewer
Error: Could not find or load main class
user@localhost:~/videoOnCloud/pmd/pmd-bin-5.5.1$ ./bin/run.sh pmd help
Usage: pmd [options]
Options:
-failOnViolation, --failOnViolation
By default PMD exits with status 4 if violations are found. Disable this
option with '-failOnViolation false' to exit with 0 instead and just write the
report.
Default: true
-auxclasspath
Specifies the classpath for libraries used by the source code. This is
used by the type resolution. Alternatively, a 'file://' URL to a text file
containing path elements on consecutive lines can be specified.
-benchmark, -b
Benchmark mode - output a benchmark report upon completion; default to
System.err.
Default: false
-dir, -d
Root directory for sources.
-encoding, -e
Specifies the character set encoding of the source code files PMD is
reading (i.e., UTF-8).
Default: UTF-8
-filelist
Path to a file containing a list of files to analyze.
-format, -f
Report format type.
Default: text
-help, -h, -H
Display help on usage.
Default: false
-language, -l
Specify a language PMD should use.
-minimumpriority, -min
Rule priority threshold; rules with lower priority than configured here
won't be used. Default is '5' which is the lowest priority.
Default: Low
Possible Values: [High, Medium High, Medium, Medium Low, Low]
-norulesetcompatibility
Disable the ruleset compatibility filter. The filter is active by default
and tries automatically 'fix' old ruleset files with old rule names
Default: false
-property, -P
{name}={value}: Define a property for the report format.
Default: []
-reportfile, -r
Sends report output to a file; default to System.out.
* -rulesets, -R
Comma separated list of ruleset names to use.
-shortnames
Prints shortened filenames in the report.
Default: false
-showsuppressed
Report should show suppressed rule violations.
Default: false
-stress, -S
Performs a stress test.
Default: false
-suppressmarker
Specifies the string that marks the a line which PMD should ignore;
default is NOPMD.
Default: NOPMD
-threads, -t
Sets the number of threads used by PMD.
Default: 1
-uri, -u
Database URI for sources.
-debug, -verbose, -D, -V
Debug mode.
Default: false
-version, -v
Specify version of a language PMD should use.
Mandatory arguments:
1) A java source code filename or directory
2) A report format
3) A ruleset filename or a comma-delimited string of ruleset filenames
For example:
C:\>pmd-bin-5.5.1\bin\pmd.bat -d c:\my\source\code -f html -R java-unusedcode
Languages and version suported:
apex, java, ecmascript, jsp, plsql, vm, xml, xsl, wsdl, pom
Available report formats and their configuration properties are:
codeclimate: Code Climate integration.
csv: Comma-separated values tabular format.
problem - Include Problem column default: true
package - Include Package column default: true
file - Include File column default: true
priority - Include Priority column default: true
line - Include Line column default: true
desc - Include Description column default: true
ruleSet - Include Rule set column default: true
rule - Include Rule column default: true
emacs: GNU Emacs integration.
html: HTML format
linePrefix - Prefix for line number anchor in the source file.
linkPrefix - Path to HTML source.
ideaj: IntelliJ IDEA integration.
classAndMethodName - Class and Method name, pass '.method' when processing a directory. default:
sourcePath - Source path. default:
fileName - File name. default:
summaryhtml: Summary HTML format.
linePrefix - Prefix for line number anchor in the source file.
linkPrefix - Path to HTML source.
text: Text format.
textcolor: Text format, with color support (requires ANSI console support, e.g. xterm, rxvt, etc.).
color - Enables colors with anything other than 'false' or '0'. default: yes
textpad: TextPad integration.
vbhtml: Vladimir Bossicard HTML format.
xml: XML format.
encoding - XML encoding format, defaults to UTF-8. default: UTF-8
xslt: XML with a XSL Transformation applied.
encoding - XML encoding format, defaults to UTF-8. default: UTF-8
xsltFilename - The XSLT file name.
yahtml: Yet Another HTML format.
outputDir - Output directory.
For example on windows:
C:\>pmd-bin-5.5.1\bin\pmd.bat -dir c:\my\source\code -format text -R java-unusedcode,java-imports -version 1.5 -language java -debug
C:\>pmd-bin-5.5.1\bin\pmd.bat -dir c:\my\source\code -f xml -rulesets java-basic,java-design -encoding UTF-8
C:\>pmd-bin-5.5.1\bin\pmd.bat -d c:\my\source\code -rulesets java-typeresolution -auxclasspath commons-collections.jar;derby.jar
C:\>pmd-bin-5.5.1\bin\pmd.bat -d c:\my\source\code -f html -R java-typeresolution -auxclasspath file:///C:/my/classpathfile
For example on *nix:
$ pmd-bin-5.5.1/bin/run.sh pmd -dir /home/workspace/src/main/java/code -f html -rulesets java-basic,java-design
$ pmd-bin-5.5.1/bin/run.sh pmd -d ./src/main/java/code -f xslt -R java-basic,java-design -property xsltFilename=my-own.xsl
$ pmd-bin-5.5.1/bin/run.sh pmd -d ./src/main/java/code -f html -R java-typeresolution -auxclasspath commons-collections.jar:derby.jar
Was passed main parameter 'help' but no main parameter was defined
user@localhost:~/videoOnCloud/pmd/pmd-bin-5.5.1$ ./bin/run.sh pmd -d ../../src/java/play/learn/tomcat/ -version 1.7 -language java -R java-unusedcode
user@localhost:~/videoOnCloud/pmd/pmd-bin-5.5.1$
user@localhost:~/videoOnCloud/pmd/pmd-bin-5.5.1$ ./bin/run.sh pmd -d ../../src/java/play/learn/tomcat/ -version 1.7 -language java -R java-basic,java-design
/home/user/videoOnCloud/src/java/play/learn/tomcat/Client.java:12: All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
/home/user/videoOnCloud/src/java/play/learn/tomcat/Client.java:44: Private field 'endpoint' could be made final; it is only initialized in the declaration or constructor.
/home/user/videoOnCloud/src/java/play/learn/tomcat/IngressServletV1.java:85: Document empty method body
/home/user/videoOnCloud/src/java/play/learn/tomcat/IngressServletV1.java:99: Document empty method body
/home/user/videoOnCloud/src/java/play/learn/tomcat/IngressServletV1.java:133: Avoid if (x != y) ..; else ..;
</code></pre>
<br />
<br />
So I tried a few rulesets on my java codes and report shown accordingly. This code analyzer definitely serve as a good helper for code learner. You can actually use PMD various way. Some common ways I use often<br />
<br />
<a href="https://pmd.github.io/pmd-5.5.1/usage/running.html">via command line</a><br />
<a href="https://pmd.github.io/pmd-5.5.1/usage/ant-task.html">via ant</a><br />
<a href="https://pmd.github.io/pmd-5.5.1/usage/mvn-plugin.html">via mvn</a><br />
<a href="https://pmd.github.io/pmd-5.5.1/usage/integrations.html">via jenkins ci</a><br />
<br />
You asked, what other rules can I use? well, for java, you can <a href="https://pmd.github.io/pmd-5.5.1/pmd-java/rules/index.html">read more here</a>. There are also other rules for each language. Last but not least, you can get the <a href="https://github.com/jasonwee/videoOnCloud/tree/master/pmd">above code here</a>.<br />
<br />
<br />Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com1tag:blogger.com,1999:blog-8213516613462351304.post-15043171773783532442017-07-01T00:00:00.000+08:002017-07-01T00:00:21.412+08:00Journey on cassandra development part2In the <a href="http://blog.weetech.co/2017/06/journey-on-cassandra-development-part1.html">last article</a>, we covered download, extract cassandra source and setup into eclipse. In this article, we should take a look <b>how to run tests in cassandra</b>. Development without test (either manual or automatic) is just half way there. To make a full cycle, we should explore cassandra tests. First, a few introduction.<br />
<br />
Unit tests can be run from the command line using ant test command,<br />
<br />
* to execute a test suite<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> $ ant test -Dtest.name=<simple_classname> </code></pre>
<br />
For example, to run all test methods in the <i>org.apache.cassandra.cql3.SimpleQueryTest</i> class, you would run:<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> $ ant test -Dtest.name=SimpleQueryTest
</code></pre>
<br />
* for individual tests.<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> $ ant testsome -Dtest.name=<FQCN> -Dtest.methods=<testmethod1>[,testmethod2]
</code></pre>
<br />
To run only the <i>testStaticCompactTables()</i> test method from SimpleQueryTest class, you would run:<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> $ ant testsome -Dtest.name=org.apache.cassandra.cql3.SimpleQueryTest -Dtest.methods=testStaticCompactTables
</code></pre>
<br />
now to the the longgggggg tests.<br />
<br />
Test that consume a significant amount of time during execution can be found in the test/long directory and executed as a regular JUnit test or standalone program. Except for the execution time, there’s nothing really special about them. However, ant will execute tests under test/long only when using the ant long-test target.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> $ ant long-test
</code></pre>
<br />
there are also Distribution Test or DTest, performance testing, stress tool and cstar_perf but I won't go into that, if you want, you can <a href="http://cassandra.apache.org/doc/latest/development/testing.html">read more here</a>.<br />
<br />
Okay, enough of the introductions, let's get into the works.Before tests are run , I have to run <b><i>ant clean</i></b> and then <b><i>ant</i></b> command. Make sure you close eclipse so eclipse will not auto delete files that required by the test.<br />
<br />
* to execute a test suite <br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/cassandra-trunk$ ant test -Dtest.name=DatabaseDescriptorTest
Buildfile: /home/user/cassandra-trunk/build.xml
init:
maven-ant-tasks-localrepo:
maven-ant-tasks-download:
maven-ant-tasks-init:
maven-declare-dependencies:
maven-ant-tasks-retrieve-build:
init-dependencies:
[echo] Loading dependency paths from file: /home/user/cassandra-trunk/build/build-dependencies.xml
init-dependencies:
[echo] Loading dependency paths from file: /home/user/cassandra-trunk/build/build-dependencies-sources.xml
[unzip] Expanding: /home/user/cassandra-trunk/build/lib/jars/org.jacoco.agent-0.7.5.201505241946.jar into /home/user/cassandra-trunk/build/lib/jars
check-gen-cql3-grammar:
gen-cql3-grammar:
generate-cql-html:
generate-jflex-java:
build-project:
[echo] apache-cassandra: /home/user/cassandra-trunk/build.xml
createVersionPropFile:
[propertyfile] Updating property file: /home/user/cassandra-trunk/src/resources/org/apache/cassandra/config/version.properties
[copy] Copying 1 file to /home/user/cassandra-trunk/build/classes/main
build:
build-test:
test:
[junit] WARNING: multiple versions of ant detected in path for junit
[junit] jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/Project.class
[junit] and jar:file:/home/user/cassandra-trunk/build/lib/jars/ant-1.9.4.jar!/org/apache/tools/ant/Project.class
[junit] Testsuite: org.apache.cassandra.config.DatabaseDescriptorTest
[junit] Testsuite: org.apache.cassandra.config.DatabaseDescriptorTest Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.878 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] Evaluating docker0
[junit] Evaluating enp9s0
[junit] Evaluating lo
[junit] ERROR [main] 2016-09-08 21:09:51,889 ?:? - SLF4J: stderr
[junit] INFO [main] 2016-09-08 21:09:52,028 ?:? - Configuration location: file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] DEBUG [main] 2016-09-08 21:09:52,029 ?:? - Loading settings from file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] INFO [main] 2016-09-08 21:09:52,418 ?:? - Node configuration:[allocate_tokens_for_keyspace=null; authenticator=null; authorizer=null; auto_bootstrap=true; auto_snapshot=true; batch_size_fail_threshold_in_kb=50; batch_size_warn_threshold_in_kb=5; batchlog_replay_throttle_in_kb=1024; broadcast_address=null; broadcast_rpc_address=null; buffer_pool_use_heap_if_exhausted=true; cas_contention_timeout_in_ms=1000; cdc_enabled=false; cdc_free_space_check_interval_ms=250; cdc_raw_directory=build/test/cassandra/cdc_raw:0; cdc_total_space_in_mb=null; client_encryption_options=<REDACTED>; cluster_name=Test Cluster; column_index_cache_size_in_kb=2; column_index_size_in_kb=4; commit_failure_policy=stop; commitlog_compression=null; commitlog_directory=build/test/cassandra/commitlog:0; commitlog_max_compression_buffers_in_pool=3; commitlog_periodic_queue_size=-1; commitlog_segment_size_in_mb=5; commitlog_sync=batch; commitlog_sync_batch_window_in_ms=1.0; commitlog_sync_period_in_ms=null; commitlog_total_space_in_mb=null; compaction_large_partition_warning_threshold_mb=100; compaction_throughput_mb_per_sec=0; concurrent_compactors=4; concurrent_counter_writes=32; concurrent_materialized_view_writes=32; concurrent_reads=32; concurrent_replicates=null; concurrent_writes=32; counter_cache_keys_to_save=2147483647; counter_cache_save_period=7200; counter_cache_size_in_mb=null; counter_write_request_timeout_in_ms=5000; credentials_cache_max_entries=1000; credentials_update_interval_in_ms=-1; credentials_validity_in_ms=2000; cross_node_timeout=false; data_file_directories=[Ljava.lang.String;@1a18644; disk_access_mode=mmap; disk_failure_policy=ignore; disk_optimization_estimate_percentile=0.95; disk_optimization_page_cross_chance=0.1; disk_optimization_strategy=ssd; dynamic_snitch=true; dynamic_snitch_badness_threshold=0.1; dynamic_snitch_reset_interval_in_ms=600000; dynamic_snitch_update_interval_in_ms=100; enable_scripted_user_defined_functions=true; enable_user_defined_functions=true; enable_user_defined_functions_threads=true; encryption_options=null; endpoint_snitch=org.apache.cassandra.locator.SimpleSnitch; file_cache_size_in_mb=null; gc_log_threshold_in_ms=200; gc_warn_threshold_in_ms=0; hinted_handoff_disabled_datacenters=[]; hinted_handoff_enabled=true; hinted_handoff_throttle_in_kb=1024; hints_compression=null; hints_directory=build/test/cassandra/hints:0; hints_flush_period_in_ms=10000; incremental_backups=true; index_interval=null; index_summary_capacity_in_mb=null; index_summary_resize_interval_in_minutes=60; initial_token=null; inter_dc_stream_throughput_outbound_megabits_per_sec=200; inter_dc_tcp_nodelay=true; internode_authenticator=null; internode_compression=none; internode_recv_buff_size_in_bytes=null; internode_send_buff_size_in_bytes=null; key_cache_keys_to_save=2147483647; key_cache_save_period=14400; key_cache_size_in_mb=null; listen_address=127.0.0.1; listen_interface=null; listen_interface_prefer_ipv6=false; listen_on_broadcast_address=false; max_hint_window_in_ms=10800000; max_hints_delivery_threads=2; max_hints_file_size_in_mb=128; max_mutation_size_in_kb=null; max_streaming_retries=3; max_value_size_in_mb=256; memtable_allocation_type=offheap_objects; memtable_cleanup_threshold=null; memtable_flush_writers=null; memtable_heap_space_in_mb=null; memtable_offheap_space_in_mb=null; min_free_space_per_drive_in_mb=50; native_transport_max_concurrent_connections=-1; native_transport_max_concurrent_connections_per_ip=-1; native_transport_max_frame_size_in_mb=256; native_transport_max_threads=128; native_transport_port=9042; native_transport_port_ssl=null; num_tokens=1; otc_coalescing_strategy=TIMEHORIZON; otc_coalescing_window_us=200; partitioner=org.apache.cassandra.dht.ByteOrderedPartitioner; permissions_cache_max_entries=1000; permissions_update_interval_in_ms=-1; permissions_validity_in_ms=2000; phi_convict_threshold=8.0; prepared_statements_cache_size_mb=null; range_request_timeout_in_ms=10000; read_request_timeout_in_ms=5000; request_scheduler=org.apache.cassandra.scheduler.RoundRobinScheduler; request_scheduler_id=keyspace; request_scheduler_options=null; request_timeout_in_ms=10000; role_manager=null; roles_cache_max_entries=1000; roles_update_interval_in_ms=-1; roles_validity_in_ms=2000; row_cache_class_name=org.apache.cassandra.cache.OHCProvider; row_cache_keys_to_save=2147483647; row_cache_save_period=0; row_cache_size_in_mb=16; rpc_address=null; rpc_interface=null; rpc_interface_prefer_ipv6=false; rpc_keepalive=true; rpc_listen_backlog=50; rpc_max_threads=2147483647; rpc_min_threads=16; rpc_port=9170; rpc_recv_buff_size_in_bytes=null; rpc_send_buff_size_in_bytes=null; rpc_server_type=sync; saved_caches_directory=build/test/cassandra/saved_caches:0; seed_provider=org.apache.cassandra.locator.SimpleSeedProvider{seeds=127.0.0.1}; server_encryption_options=<REDACTED>; slow_query_log_timeout_in_ms=500; snapshot_before_compaction=false; ssl_storage_port=7001; sstable_preemptive_open_interval_in_mb=50; start_native_transport=true; start_rpc=true; storage_port=7010; stream_throughput_outbound_megabits_per_sec=200; streaming_keep_alive_period_in_secs=300; streaming_socket_timeout_in_ms=86400000; thrift_framed_transport_size_in_mb=15; thrift_max_message_length_in_mb=16; thrift_prepared_statements_cache_size_mb=null; tombstone_failure_threshold=100000; tombstone_warn_threshold=1000; tracetype_query_ttl=86400; tracetype_repair_ttl=604800; transparent_data_encryption_options=org.apache.cassandra.config.TransparentDataEncryptionOptions@5acf93bb; trickle_fsync=false; trickle_fsync_interval_in_kb=10240; truncate_request_timeout_in_ms=60000; unlogged_batch_across_partitions_warn_threshold=10; user_defined_function_fail_timeout=1500; user_defined_function_warn_timeout=500; user_function_timeout_policy=die; windows_timer_interval=0; write_request_timeout_in_ms=2000]
[junit] DEBUG [main] 2016-09-08 21:09:52,418 ?:? - Syncing log with a batch window of 1.0
[junit] INFO [main] 2016-09-08 21:09:52,418 ?:? - DiskAccessMode is mmap, indexAccessMode is mmap
[junit] INFO [main] 2016-09-08 21:09:52,418 ?:? - Global memtable on-heap threshold is enabled at 227MB
[junit] INFO [main] 2016-09-08 21:09:52,418 ?:? - Global memtable off-heap threshold is enabled at 227MB
[junit] INFO [main] 2016-09-08 21:09:52,501 ?:? - Started the RoundRobin Request Scheduler
[junit] DEBUG [main] 2016-09-08 21:09:52,502 ?:? - Loading settings from file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] INFO [ScheduledTasks:1] 2016-09-08 21:09:52,568 ?:? - Overriding RING_DELAY to 1000ms
[junit] DEBUG [main] 2016-09-08 21:09:52,613 ?:? - Loading settings from file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] DEBUG [main] 2016-09-08 21:09:52,623 ?:? - Loading settings from file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] DEBUG [main] 2016-09-08 21:09:52,633 ?:? - Loading settings from file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] DEBUG [main] 2016-09-08 21:09:52,648 ?:? - Loading settings from file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] INFO [main] 2016-09-08 21:09:52,763 ?:? - Initialized prepared statement caches with 10 MB (native) and 10 MB (Thrift)
[junit] DEBUG [main] 2016-09-08 21:09:52,941 ?:? - Using SLF4J as the default logging framework
[junit] DEBUG [main] 2016-09-08 21:09:52,942 ?:? - -Dio.netty.recycler.maxCapacity.default: 262144
[junit] DEBUG [main] 2016-09-08 21:09:52,942 ?:? - -Dio.netty.recycler.maxSharedCapacityFactor: 2
[junit] DEBUG [main] 2016-09-08 21:09:52,942 ?:? - -Dio.netty.recycler.linkCapacity: 16
[junit] DEBUG [main] 2016-09-08 21:09:53,006 ?:? - Adding org.apache.cassandra.config.CFMetaData@6af9fcb2[cfId=abac5682-dea6-31c5-b535-b3d6cffd0fb6,ksName=system_schema,cfName=keyspaces,flags=[COMPOUND],params=TableParams{comment=keyspace definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [durable_writes replication]],partitionKeyColumns=[keyspace_name],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[replication, keyspace_name, durable_writes],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,018 ?:? - Adding org.apache.cassandra.config.CFMetaData@512baff6[cfId=afddfb9d-bc1e-3068-8056-eed6c302ba09,ksName=system_schema,cfName=tables,flags=[COMPOUND],params=TableParams{comment=table definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [bloom_filter_fp_chance caching cdc comment compaction compression crc_check_chance dclocal_read_repair_chance default_time_to_live extensions flags gc_grace_seconds id max_index_interval memtable_flush_period_in_ms min_index_interval read_repair_chance speculative_retry]],partitionKeyColumns=[keyspace_name],clusteringColumns=[table_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[cdc, dclocal_read_repair_chance, gc_grace_seconds, speculative_retry, id, memtable_flush_period_in_ms, default_time_to_live, min_index_interval, bloom_filter_fp_chance, compression, caching, crc_check_chance, compaction, comment, keyspace_name, read_repair_chance, table_name, extensions, max_index_interval, flags],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,019 ?:? - Adding org.apache.cassandra.config.CFMetaData@1c93f6e1[cfId=24101c25-a2ae-3af7-87c1-b40ee1aca33f,ksName=system_schema,cfName=columns,flags=[COMPOUND],params=TableParams{comment=column definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [clustering_order column_name_bytes kind position type]],partitionKeyColumns=[keyspace_name],clusteringColumns=[table_name, column_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[kind, clustering_order, column_name_bytes, position, keyspace_name, table_name, type, column_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,019 ?:? - Adding org.apache.cassandra.config.CFMetaData@1458ed9c[cfId=4df70b66-6b05-3251-95a1-32b54005fd48,ksName=system_schema,cfName=triggers,flags=[COMPOUND],params=TableParams{comment=trigger definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [options]],partitionKeyColumns=[keyspace_name],clusteringColumns=[table_name, trigger_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[table_name, options, keyspace_name, trigger_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,020 ?:? - Adding org.apache.cassandra.config.CFMetaData@e383572[cfId=5e7583b5-f3f4-3af1-9a39-b7e1d6f5f11f,ksName=system_schema,cfName=dropped_columns,flags=[COMPOUND],params=TableParams{comment=dropped column registry, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [dropped_time type]],partitionKeyColumns=[keyspace_name],clusteringColumns=[table_name, column_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[table_name, type, keyspace_name, column_name, dropped_time],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,020 ?:? - Adding org.apache.cassandra.config.CFMetaData@363a52f[cfId=9786ac1c-dd58-3201-a7cd-ad556410c985,ksName=system_schema,cfName=views,flags=[COMPOUND],params=TableParams{comment=view definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [base_table_id base_table_name bloom_filter_fp_chance caching cdc comment compaction compression crc_check_chance dclocal_read_repair_chance default_time_to_live extensions gc_grace_seconds id include_all_columns max_index_interval memtable_flush_period_in_ms min_index_interval read_repair_chance speculative_retry where_clause]],partitionKeyColumns=[keyspace_name],clusteringColumns=[view_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[cdc, dclocal_read_repair_chance, gc_grace_seconds, speculative_retry, base_table_name, id, memtable_flush_period_in_ms, default_time_to_live, where_clause, min_index_interval, view_name, bloom_filter_fp_chance, compression, caching, crc_check_chance, compaction, base_table_id, comment, keyspace_name, read_repair_chance, include_all_columns, extensions, max_index_interval],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,021 ?:? - Adding org.apache.cassandra.config.CFMetaData@a4add54[cfId=5a8b1ca8-6602-3f77-a045-9273d308917a,ksName=system_schema,cfName=types,flags=[COMPOUND],params=TableParams{comment=user defined type definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [field_names field_types]],partitionKeyColumns=[keyspace_name],clusteringColumns=[type_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[field_names, type_name, field_types, keyspace_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,021 ?:? - Adding org.apache.cassandra.config.CFMetaData@5f9be66c[cfId=96489b79-80be-3e14-a701-66a0b9159450,ksName=system_schema,cfName=functions,flags=[COMPOUND],params=TableParams{comment=user defined function definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.ListType(org.apache.cassandra.db.marshal.UTF8Type))),partitionColumns=[[] | [argument_names body called_on_null_input language return_type]],partitionKeyColumns=[keyspace_name],clusteringColumns=[function_name, argument_types],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[function_name, keyspace_name, argument_names, return_type, body, argument_types, called_on_null_input, language],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,023 ?:? - Adding org.apache.cassandra.config.CFMetaData@66c61024[cfId=924c5587-2e3a-345b-b10c-12f37c1ba895,ksName=system_schema,cfName=aggregates,flags=[COMPOUND],params=TableParams{comment=user defined aggregate definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.ListType(org.apache.cassandra.db.marshal.UTF8Type))),partitionColumns=[[] | [final_func initcond return_type state_func state_type]],partitionKeyColumns=[keyspace_name],clusteringColumns=[aggregate_name, argument_types],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[final_func, aggregate_name, initcond, state_func, keyspace_name, return_type, state_type, argument_types],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,023 ?:? - Adding org.apache.cassandra.config.CFMetaData@c9d0d6[cfId=0feb57ac-311f-382f-ba6d-9024d305702f,ksName=system_schema,cfName=indexes,flags=[COMPOUND],params=TableParams{comment=secondary index definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [kind options]],partitionKeyColumns=[keyspace_name],clusteringColumns=[table_name, index_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[kind, table_name, options, keyspace_name, index_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,081 ?:? - Adding org.apache.cassandra.config.CFMetaData@32c726ee[cfId=9f5c6374-d485-3229-9a0a-5094af9ad1e3,ksName=system,cfName=IndexInfo,flags=[DENSE],params=TableParams{comment=built column indexes, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [value]],partitionKeyColumns=[table_name],clusteringColumns=[index_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[table_name, index_name, value],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,082 ?:? - Adding org.apache.cassandra.config.CFMetaData@76f4b65[cfId=919a4bc5-7a33-3573-b03e-13fc3f68b465,ksName=system,cfName=batches,flags=[COMPOUND],params=TableParams{comment=batches awaiting replay, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=2, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [version mutations]],partitionKeyColumns=[id],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.TimeUUIDType,columnMetadata=[mutations, version, id],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,083 ?:? - Adding org.apache.cassandra.config.CFMetaData@36328d33[cfId=b7b7f0c2-fd0a-3410-8c05-3ef614bb7c2d,ksName=system,cfName=paxos,flags=[COMPOUND],params=TableParams{comment=in-progress paxos proposals, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.LeveledCompactionStrategy, options={}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UUIDType),partitionColumns=[[] | [in_progress_ballot most_recent_commit most_recent_commit_at most_recent_commit_version proposal proposal_ballot proposal_version]],partitionKeyColumns=[row_key],clusteringColumns=[cf_id],keyValidator=org.apache.cassandra.db.marshal.BytesType,columnMetadata=[cf_id, most_recent_commit_version, proposal, row_key, proposal_ballot, most_recent_commit_at, proposal_version, in_progress_ballot, most_recent_commit],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,083 ?:? - Adding org.apache.cassandra.config.CFMetaData@76a2ddf3[cfId=7ad54392-bcdd-35a6-8417-4e047860b377,ksName=system,cfName=local,flags=[COMPOUND],params=TableParams{comment=information about the local node, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [bootstrapped broadcast_address cluster_name cql_version data_center gossip_generation host_id listen_address native_protocol_version partitioner rack release_version rpc_address schema_version thrift_version tokens truncated_at]],partitionKeyColumns=[key],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[cql_version, tokens, bootstrapped, broadcast_address, listen_address, rack, release_version, cluster_name, native_protocol_version, thrift_version, rpc_address, truncated_at, schema_version, key, gossip_generation, data_center, partitioner, host_id],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,084 ?:? - Adding org.apache.cassandra.config.CFMetaData@41e68d87[cfId=37f71aca-7dc2-383b-a706-72528af04d4f,ksName=system,cfName=peers,flags=[COMPOUND],params=TableParams{comment=information about known peers in the cluster, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [data_center host_id preferred_ip rack release_version rpc_address schema_version tokens]],partitionKeyColumns=[peer],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.InetAddressType,columnMetadata=[rpc_address, schema_version, preferred_ip, tokens, rack, release_version, peer, data_center, host_id],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,085 ?:? - Adding org.apache.cassandra.config.CFMetaData@2ef14fe[cfId=59dfeaea-8db2-3341-91ef-109974d81484,ksName=system,cfName=peer_events,flags=[COMPOUND],params=TableParams{comment=events related to peers, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [hints_dropped]],partitionKeyColumns=[peer],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.InetAddressType,columnMetadata=[peer, hints_dropped],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,085 ?:? - Adding org.apache.cassandra.config.CFMetaData@45312be2[cfId=55d76438-4e55-3f8b-9f6e-676d4af3976d,ksName=system,cfName=range_xfers,flags=[COMPOUND],params=TableParams{comment=ranges requested for transfer, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [requested_at]],partitionKeyColumns=[token_bytes],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.BytesType,columnMetadata=[token_bytes, requested_at],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,086 ?:? - Adding org.apache.cassandra.config.CFMetaData@7331196b[cfId=b4dbb7b4-dc49-3fb5-b3bf-ce6e434832ca,ksName=system,cfName=compaction_history,flags=[COMPOUND],params=TableParams{comment=week-long compaction history, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=604800, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [bytes_in bytes_out columnfamily_name compacted_at keyspace_name rows_merged]],partitionKeyColumns=[id],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.UUIDType,columnMetadata=[bytes_out, id, keyspace_name, rows_merged, compacted_at, bytes_in, columnfamily_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,087 ?:? - Adding org.apache.cassandra.config.CFMetaData@50d13246[cfId=5a1ff267-ace0-3f12-8563-cfae6103c65e,ksName=system,cfName=sstable_activity,flags=[COMPOUND],params=TableParams{comment=historic sstable read rates, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [rate_120m rate_15m]],partitionKeyColumns=[keyspace_name, columnfamily_name, generation],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.marshal.Int32Type),columnMetadata=[generation, rate_120m, rate_15m, keyspace_name, columnfamily_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,088 ?:? - Adding org.apache.cassandra.config.CFMetaData@e70f13a[cfId=618f817b-005f-3678-b8a4-53f3930b8e86,ksName=system,cfName=size_estimates,flags=[COMPOUND],params=TableParams{comment=per-table primary range size estimates, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [mean_partition_size partitions_count]],partitionKeyColumns=[keyspace_name],clusteringColumns=[table_name, range_start, range_end],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[range_start, table_name, mean_partition_size, keyspace_name, partitions_count, range_end],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,088 ?:? - Adding org.apache.cassandra.config.CFMetaData@4b40f651[cfId=c539fcab-d65a-31d1-8133-d25605643ee3,ksName=system,cfName=available_ranges,flags=[COMPOUND],params=TableParams{comment=available keyspace/ranges during bootstrap/replace that are ready to be served, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [ranges]],partitionKeyColumns=[keyspace_name],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[ranges, keyspace_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,089 ?:? - Adding org.apache.cassandra.config.CFMetaData@49964d75[cfId=6cad20f7-d4f5-3af2-b6e2-0da33c6c1f83,ksName=system,cfName=transferred_ranges,flags=[COMPOUND],params=TableParams{comment=record of transferred ranges for streaming operation, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.InetAddressType),partitionColumns=[[] | [ranges]],partitionKeyColumns=[operation, keyspace_name],clusteringColumns=[peer],keyValidator=org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type),columnMetadata=[ranges, peer, operation, keyspace_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,089 ?:? - Adding org.apache.cassandra.config.CFMetaData@466276d8[cfId=b7f2c108-78cd-3c80-9cd5-d609b2bd149c,ksName=system,cfName=views_builds_in_progress,flags=[COMPOUND],params=TableParams{comment=views builds current progress, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [generation_number last_token]],partitionKeyColumns=[keyspace_name],clusteringColumns=[view_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[view_name, generation_number, keyspace_name, last_token],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,090 ?:? - Adding org.apache.cassandra.config.CFMetaData@27eedb64[cfId=4b3c50a9-ea87-3d76-9101-6dbc9c38494a,ksName=system,cfName=built_views,flags=[COMPOUND],params=TableParams{comment=built views, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [status_replicated]],partitionKeyColumns=[keyspace_name],clusteringColumns=[view_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[view_name, keyspace_name, status_replicated],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,090 ?:? - Adding org.apache.cassandra.config.CFMetaData@31c7528f[cfId=2666e205-73ef-38b3-90fe-fecf96e8f0c7,ksName=system,cfName=hints,flags=[DENSE, COMPOUND],params=TableParams{comment=*DEPRECATED* hints awaiting delivery, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32, enabled=false}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.TimeUUIDType, org.apache.cassandra.db.marshal.Int32Type),partitionColumns=[[] | [mutation]],partitionKeyColumns=[target_id],clusteringColumns=[hint_id, message_version],keyValidator=org.apache.cassandra.db.marshal.UUIDType,columnMetadata=[target_id, hint_id, mutation, message_version],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,091 ?:? - Adding org.apache.cassandra.config.CFMetaData@7a1234bf[cfId=0290003c-977e-397c-ac3e-fdfdc01d626b,ksName=system,cfName=batchlog,flags=[COMPOUND],params=TableParams{comment=*DEPRECATED* batchlog entries, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=2, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [data version written_at]],partitionKeyColumns=[id],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.UUIDType,columnMetadata=[version, data, id, written_at],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,093 ?:? - Adding org.apache.cassandra.config.CFMetaData@24ba9639[cfId=18a9c257-6a0c-3841-ba71-8cd529849fef,ksName=system,cfName=prepared_statements,flags=[COMPOUND],params=TableParams{comment=prepared statements, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [logged_keyspace query_string]],partitionKeyColumns=[prepared_id],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.BytesType,columnMetadata=[logged_keyspace, prepared_id, query_string],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,093 ?:? - Adding org.apache.cassandra.config.CFMetaData@6bffbc6d[cfId=b0f22357-4458-3cdb-9631-c43e59ce3676,ksName=system,cfName=schema_keyspaces,flags=[],params=TableParams{comment=*DEPRECATED* keyspace definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[durable_writes strategy_class strategy_options] | [value]],partitionKeyColumns=[keyspace_name],clusteringColumns=[column1],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[value, durable_writes, strategy_options, column1, strategy_class, keyspace_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,094 ?:? - Adding org.apache.cassandra.config.CFMetaData@13330ac6[cfId=45f5b360-24bc-3f83-a363-1034ea4fa697,ksName=system,cfName=schema_columnfamilies,flags=[COMPOUND],params=TableParams{comment=*DEPRECATED* table definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [bloom_filter_fp_chance caching cf_id comment compaction_strategy_class compaction_strategy_options comparator compression_parameters default_time_to_live default_validator gc_grace_seconds is_dense key_validator local_read_repair_chance max_compaction_threshold max_index_interval memtable_flush_period_in_ms min_compaction_threshold min_index_interval read_repair_chance speculative_retry subcomparator type dropped_columns]],partitionKeyColumns=[keyspace_name],clusteringColumns=[columnfamily_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[memtable_flush_period_in_ms, min_compaction_threshold, default_time_to_live, min_index_interval, key_validator, is_dense, compaction_strategy_options, compaction_strategy_class, max_compaction_threshold, comment, compression_parameters, dropped_columns, max_index_interval, gc_grace_seconds, speculative_retry, local_read_repair_chance, bloom_filter_fp_chance, caching, default_validator, cf_id, keyspace_name, comparator, subcomparator, read_repair_chance, type, columnfamily_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,095 ?:? - Adding org.apache.cassandra.config.CFMetaData@39a2bb97[cfId=296e9c04-9bec-3085-827d-c17d3df2122a,ksName=system,cfName=schema_columns,flags=[COMPOUND],params=TableParams{comment=*DEPRECATED* column definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [component_index index_name index_options index_type type validator]],partitionKeyColumns=[keyspace_name],clusteringColumns=[columnfamily_name, column_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[validator, component_index, keyspace_name, index_options, type, index_type, index_name, columnfamily_name, column_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,095 ?:? - Adding org.apache.cassandra.config.CFMetaData@4331d187[cfId=0359bc71-7123-3ee1-9a4a-b9dfb11fc125,ksName=system,cfName=schema_triggers,flags=[COMPOUND],params=TableParams{comment=*DEPRECATED* trigger definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [trigger_options]],partitionKeyColumns=[keyspace_name],clusteringColumns=[columnfamily_name, trigger_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[trigger_options, keyspace_name, columnfamily_name, trigger_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,096 ?:? - Adding org.apache.cassandra.config.CFMetaData@1608bcbd[cfId=3aa75225-4f82-350b-8d5c-430fa221fa0a,ksName=system,cfName=schema_usertypes,flags=[COMPOUND],params=TableParams{comment=*DEPRECATED* user defined type definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [field_names field_types]],partitionKeyColumns=[keyspace_name],clusteringColumns=[type_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[field_names, type_name, field_types, keyspace_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,096 ?:? - Adding org.apache.cassandra.config.CFMetaData@29ca3d04[cfId=d1b675fe-2b50-3ca4-8e49-c0f81989dcad,ksName=system,cfName=schema_functions,flags=[COMPOUND],params=TableParams{comment=*DEPRECATED* user defined function definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.ListType(org.apache.cassandra.db.marshal.UTF8Type))),partitionColumns=[[] | [body called_on_null_input language return_type argument_names argument_types]],partitionKeyColumns=[keyspace_name],clusteringColumns=[function_name, signature],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[function_name, signature, keyspace_name, return_type, argument_names, body, argument_types, called_on_null_input, language],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,097 ?:? - Adding org.apache.cassandra.config.CFMetaData@5812f68b[cfId=a5fc57fc-9d6c-3bfd-a3fc-01ad54686fea,ksName=system,cfName=schema_aggregates,flags=[COMPOUND],params=TableParams{comment=*DEPRECATED* user defined aggregate definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@3a4ad8c7, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.ListType(org.apache.cassandra.db.marshal.UTF8Type))),partitionColumns=[[] | [final_func initcond return_type state_func state_type argument_types]],partitionKeyColumns=[keyspace_name],clusteringColumns=[aggregate_name, signature],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[final_func, aggregate_name, signature, initcond, state_func, keyspace_name, return_type, state_type, argument_types],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:09:53,102 ?:? - Loading settings from file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] DEBUG [main] 2016-09-08 21:09:53,110 ?:? - Loading settings from file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] DEBUG [main] 2016-09-08 21:09:53,117 ?:? - Loading settings from file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] DEBUG [COMMIT-LOG-ALLOCATOR] 2016-09-08 21:09:53,145 ?:? - No segments in reserve; creating a fresh one
[junit] DEBUG [COMMIT-LOG-ALLOCATOR] 2016-09-08 21:09:53,179 ?:? - No segments in reserve; creating a fresh one
[junit] DEBUG [main] 2016-09-08 21:09:53,180 ?:? - CLSM closing and clearing existing commit log segments...
[junit] DEBUG [COMMIT-LOG-ALLOCATOR] 2016-09-08 21:09:53,182 ?:? - No segments in reserve; creating a fresh one
[junit] INFO [main] 2016-09-08 21:09:53,183 ?:? - No commitlog files found; skipping replay
[junit] INFO [main] 2016-09-08 21:09:53,231 ?:? - Initializing SIGAR library
[junit] DEBUG [main] 2016-09-08 21:09:53,246 ?:? - no libsigar-amd64-linux.so in java.library.path
[junit] org.hyperic.sigar.SigarException: no libsigar-amd64-linux.so in java.library.path
[junit] at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172) ~[sigar-1.6.4.jar:na]
[junit] at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100) ~[sigar-1.6.4.jar:na]
[junit] at org.apache.cassandra.utils.SigarLibrary.<init>(SigarLibrary.java:47) [main/:na]
[junit] at org.apache.cassandra.utils.SigarLibrary.<clinit>(SigarLibrary.java:28) [main/:na]
[junit] at org.apache.cassandra.utils.UUIDGen.hash(UUIDGen.java:388) [main/:na]
[junit] at org.apache.cassandra.utils.UUIDGen.makeNode(UUIDGen.java:367) [main/:na]
[junit] at org.apache.cassandra.utils.UUIDGen.makeClockSeqAndNode(UUIDGen.java:300) [main/:na]
[junit] at org.apache.cassandra.utils.UUIDGen.<clinit>(UUIDGen.java:41) [main/:na]
[junit] at org.apache.cassandra.utils.ByteBufferUtil.bytes(ByteBufferUtil.java:576) [main/:na]
[junit] at org.apache.cassandra.db.Directories.<init>(Directories.java:202) [main/:na]
[junit] at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:587) [main/:na]
[junit] at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:579) [main/:na]
[junit] at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:409) [main/:na]
[junit] at org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:322) [main/:na]
[junit] at org.apache.cassandra.db.Keyspace.open(Keyspace.java:127) [main/:na]
[junit] at org.apache.cassandra.db.Keyspace.open(Keyspace.java:104) [main/:na]
[junit] at org.apache.cassandra.cql3.restrictions.StatementRestrictions.<init>(StatementRestrictions.java:137) [main/:na]
[junit] at org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepareRestrictions(SelectStatement.java:975) [main/:na]
[junit] at org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:916) [main/:na]
[junit] at org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:904) [main/:na]
[junit] at org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:546) [main/:na]
[junit] at org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:252) [main/:na]
[junit] at org.apache.cassandra.cql3.QueryProcessor.prepareInternal(QueryProcessor.java:296) [main/:na]
[junit] at org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:304) [main/:na]
[junit] at org.apache.cassandra.schema.SchemaKeyspace.query(SchemaKeyspace.java:1237) [main/:na]
[junit] at org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspacesWithout(SchemaKeyspace.java:859) [main/:na]
[junit] at org.apache.cassandra.schema.SchemaKeyspace.fetchNonSystemKeyspaces(SchemaKeyspace.java:851) [main/:na]
[junit] at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:90) [main/:na]
[junit] at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:80) [main/:na]
[junit] at org.apache.cassandra.config.DatabaseDescriptorTest.testTransKsMigration(DatabaseDescriptorTest.java:92) [classes/:na]
[junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_45]
[junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_45]
[junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_45]
[junit] at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_45]
[junit] at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) [junit-4.6.jar:na]
[junit] at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) [junit-4.6.jar:na]
[junit] at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) [junit-4.6.jar:na]
[junit] at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) [junit-4.6.jar:na]
[junit] at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) [junit-4.6.jar:na]
[junit] at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) [junit-4.6.jar:na]
[junit] at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) [junit-4.6.jar:na]
[junit] at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:44) [junit-4.6.jar:na]
[junit] at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) [junit-4.6.jar:na]
[junit] at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) [junit-4.6.jar:na]
[junit] at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) [junit-4.6.jar:na]
[junit] at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) [junit-4.6.jar:na]
[junit] at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) [junit-4.6.jar:na]
[junit] at org.junit.runners.ParentRunner.run(ParentRunner.java:220) [junit-4.6.jar:na]
[junit] at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) [junit-4.6.jar:na]
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535) [ant-junit-1.9.7.jar:na]
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1182) [ant-junit-1.9.7.jar:na]
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1033) [ant-junit-1.9.7.jar:na]
[junit] INFO [main] 2016-09-08 21:09:53,247 ?:? - Could not initialize SIGAR library org.hyperic.sigar.Sigar.getFileSystemListNative()[Lorg/hyperic/sigar/FileSystem;
[junit] INFO [main] 2016-09-08 21:09:53,312 ?:? - Initializing system_schema.keyspaces
[junit] INFO [main] 2016-09-08 21:09:53,394 ?:? - Initializing system_schema.tables
[junit] INFO [main] 2016-09-08 21:09:53,407 ?:? - Initializing system_schema.columns
[junit] INFO [main] 2016-09-08 21:09:53,413 ?:? - Initializing system_schema.triggers
[junit] INFO [main] 2016-09-08 21:09:53,417 ?:? - Initializing system_schema.dropped_columns
[junit] INFO [main] 2016-09-08 21:09:53,423 ?:? - Initializing system_schema.views
[junit] INFO [main] 2016-09-08 21:09:53,428 ?:? - Initializing system_schema.types
[junit] INFO [main] 2016-09-08 21:09:53,433 ?:? - Initializing system_schema.functions
[junit] INFO [main] 2016-09-08 21:09:53,438 ?:? - Initializing system_schema.aggregates
[junit] INFO [main] 2016-09-08 21:09:53,442 ?:? - Initializing system_schema.indexes
[junit] INFO [main] 2016-09-08 21:09:53,443 ?:? - Not submitting build tasks for views in keyspace system_schema as storage service is not initialized
[junit] INFO [main] 2016-09-08 21:09:53,522 ?:? - Initializing system.IndexInfo
[junit] INFO [main] 2016-09-08 21:09:53,527 ?:? - Initializing system.batches
[junit] INFO [main] 2016-09-08 21:09:53,531 ?:? - Initializing system.paxos
[junit] INFO [main] 2016-09-08 21:09:53,538 ?:? - Initializing system.local
[junit] INFO [main] 2016-09-08 21:09:53,542 ?:? - Initializing system.peers
[junit] INFO [main] 2016-09-08 21:09:53,546 ?:? - Initializing system.peer_events
[junit] INFO [main] 2016-09-08 21:09:53,549 ?:? - Initializing system.range_xfers
[junit] INFO [main] 2016-09-08 21:09:53,553 ?:? - Initializing system.compaction_history
[junit] INFO [main] 2016-09-08 21:09:53,556 ?:? - Initializing system.sstable_activity
[junit] INFO [main] 2016-09-08 21:09:53,560 ?:? - Initializing system.size_estimates
[junit] INFO [main] 2016-09-08 21:09:53,563 ?:? - Initializing system.available_ranges
[junit] INFO [main] 2016-09-08 21:09:53,567 ?:? - Initializing system.transferred_ranges
[junit] INFO [main] 2016-09-08 21:09:53,571 ?:? - Initializing system.views_builds_in_progress
[junit] INFO [main] 2016-09-08 21:09:53,576 ?:? - Initializing system.built_views
[junit] INFO [main] 2016-09-08 21:09:53,579 ?:? - Initializing system.hints
[junit] INFO [main] 2016-09-08 21:09:53,583 ?:? - Initializing system.batchlog
[junit] INFO [main] 2016-09-08 21:09:53,587 ?:? - Initializing system.prepared_statements
[junit] INFO [main] 2016-09-08 21:09:53,591 ?:? - Initializing system.schema_keyspaces
[junit] INFO [main] 2016-09-08 21:09:53,594 ?:? - Initializing system.schema_columnfamilies
[junit] INFO [main] 2016-09-08 21:09:53,598 ?:? - Initializing system.schema_columns
[junit] INFO [main] 2016-09-08 21:09:53,601 ?:? - Initializing system.schema_triggers
[junit] INFO [main] 2016-09-08 21:09:53,606 ?:? - Initializing system.schema_usertypes
[junit] INFO [main] 2016-09-08 21:09:53,610 ?:? - Initializing system.schema_functions
[junit] INFO [main] 2016-09-08 21:09:53,613 ?:? - Initializing system.schema_aggregates
[junit] INFO [main] 2016-09-08 21:09:53,614 ?:? - Not submitting build tasks for views in keyspace system as storage service is not initialized
[junit] DEBUG [COMMIT-LOG-ALLOCATOR] 2016-09-08 21:09:53,638 ?:? - No segments in reserve; creating a fresh one
[junit] WARN [COMMIT-LOG-WRITER] 2016-09-08 21:09:53,640 ?:? - Out of 1 commit log syncs over the past 0.00s with average duration of 1.25ms, 1 have exceeded the configured commit interval by an average of 0.25ms
[junit] DEBUG [main] 2016-09-08 21:09:53,652 ?:? - Loading settings from file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] INFO [main] 2016-09-08 21:09:53,665 ?:? - Create new Keyspace: KeyspaceMetadata{name=ks0, params=KeyspaceParams{durable_writes=true, replication=ReplicationParams{class=org.apache.cassandra.locator.SimpleStrategy, replication_factor=3}}, tables=[], views=[], functions=[], types=[]}
[junit] DEBUG [MigrationStage:1] 2016-09-08 21:09:53,700 ?:? - Enqueuing flush of keyspaces: 0.289KiB (0%) on-heap, 0.138KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:09:54,064 ?:? - Writing Memtable-keyspaces@1173575581(0.146KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:09:54,069 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data:0/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-1-big-Data.db (0.110KiB) for commitlog position CommitLogPosition(segmentId=1473340193151, position=292)
[junit] INFO [MemtableFlushWriter:1] 2016-09-08 21:09:54,161 ?:? - Initializing key cache with capacity of 12 MBs.
[junit] INFO [MemtableFlushWriter:1] 2016-09-08 21:09:54,167 ?:? - Initializing row cache with capacity of 16 MBs
[junit] INFO [MemtableFlushWriter:1] 2016-09-08 21:09:54,183 ?:? - OHC using Java8 Unsafe API
[junit] INFO [MemtableFlushWriter:1] 2016-09-08 21:09:54,183 ?:? - OHC using JNA OS native malloc/free
[junit] DEBUG [MemtableFlushWriter:1] 2016-09-08 21:09:54,184 ?:? - OHC instance with 16 segments and capacity of 16777216 created.
[junit] INFO [MemtableFlushWriter:1] 2016-09-08 21:09:54,184 ?:? - Initializing counter cache with capacity of 6 MBs
[junit] INFO [MemtableFlushWriter:1] 2016-09-08 21:09:54,185 ?:? - Scheduling counter cache save to every 7200 seconds (going to save all keys).
[junit] DEBUG [MemtableFlushWriter:1] 2016-09-08 21:09:54,207 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data:0/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-1-big-Data.db')] (1 sstables, 5.038KiB), biggest 5.038KiB, smallest 5.038KiB
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,209 ?:? - forceFlush requested but everything is clean in tables
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,211 ?:? - forceFlush requested but everything is clean in columns
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,211 ?:? - forceFlush requested but everything is clean in dropped_columns
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,212 ?:? - forceFlush requested but everything is clean in triggers
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,212 ?:? - forceFlush requested but everything is clean in views
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,212 ?:? - forceFlush requested but everything is clean in types
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,212 ?:? - forceFlush requested but everything is clean in functions
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,212 ?:? - forceFlush requested but everything is clean in aggregates
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,212 ?:? - forceFlush requested but everything is clean in indexes
[junit] INFO [MigrationStage:1] 2016-09-08 21:09:54,241 ?:? - Global buffer pool is enabled, when pool is exhausted (max is 227.000MiB) it will allocate on heap
[junit] INFO [MigrationStage:1] 2016-09-08 21:09:54,295 ?:? - Not submitting build tasks for views in keyspace ks0 as storage service is not initialized
[junit] DEBUG [MigrationStage:1] 2016-09-08 21:09:54,310 ?:? - Gossiping my schema version 09a509cc-9eb0-3326-9799-765783a2a064
[junit] INFO [main] 2016-09-08 21:09:54,311 ?:? - Create new Keyspace: KeyspaceMetadata{name=ks1, params=KeyspaceParams{durable_writes=true, replication=ReplicationParams{class=org.apache.cassandra.locator.SimpleStrategy, replication_factor=3}}, tables=[], views=[], functions=[], types=[]}
[junit] DEBUG [MigrationStage:1] 2016-09-08 21:09:54,312 ?:? - Enqueuing flush of keyspaces: 0.289KiB (0%) on-heap, 0.138KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:09:54,325 ?:? - Writing Memtable-keyspaces@603450346(0.146KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:09:54,326 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data:0/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-2-big-Data.db (0.110KiB) for commitlog position CommitLogPosition(segmentId=1473340193151, position=556)
[junit] DEBUG [MemtableFlushWriter:2] 2016-09-08 21:09:54,362 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data:0/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-2-big-Data.db')] (1 sstables, 5.038KiB), biggest 5.038KiB, smallest 5.038KiB
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,362 ?:? - forceFlush requested but everything is clean in tables
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,362 ?:? - forceFlush requested but everything is clean in columns
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,362 ?:? - forceFlush requested but everything is clean in dropped_columns
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,362 ?:? - forceFlush requested but everything is clean in triggers
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,362 ?:? - forceFlush requested but everything is clean in views
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,363 ?:? - forceFlush requested but everything is clean in types
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,363 ?:? - forceFlush requested but everything is clean in functions
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,363 ?:? - forceFlush requested but everything is clean in aggregates
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:09:54,363 ?:? - forceFlush requested but everything is clean in indexes
[junit] INFO [MigrationStage:1] 2016-09-08 21:09:54,367 ?:? - Not submitting build tasks for views in keyspace ks1 as storage service is not initialized
[junit] DEBUG [MigrationStage:1] 2016-09-08 21:09:54,370 ?:? - Gossiping my schema version acc9d052-c25a-3d62-9ce7-27a5001e74d2
[junit] INFO [main] 2016-09-08 21:09:54,382 ?:? - Announcing shutdown
[junit] DEBUG [main] 2016-09-08 21:09:56,382 ?:? - Loading settings from file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] ------------- ---------------- ---------------
[delete] Deleting directory /home/user/cassandra-trunk/build/test/cassandra/commitlog:0
[delete] Deleting directory /home/user/cassandra-trunk/build/test/cassandra/data:0
[delete] Deleting directory /home/user/cassandra-trunk/build/test/cassandra/saved_caches:0
[delete] Deleting directory /home/user/cassandra-trunk/build/test/cassandra/hints:0
[junitreport] Processing /home/user/cassandra-trunk/build/test/TESTS-TestSuites.xml to /tmp/null2039466602
[junitreport] Loading stylesheet jar:file:/usr/share/ant/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl
[junitreport] Transform time: 372ms
[junitreport] Deleting: /tmp/null2039466602
BUILD SUCCESSFUL
Total time: 9 seconds
user@localhost:~/cassandra-trunk$
</code></pre>
<br />
* for individual tests.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/cassandra-trunk$ ant testsome -Dtest.name=org.apache.cassandra.cql3.SimpleQueryTest -Dtest.methods=testStaticCompactTables
Buildfile: /home/user/cassandra-trunk/build.xml
init:
maven-ant-tasks-localrepo:
maven-ant-tasks-download:
maven-ant-tasks-init:
maven-declare-dependencies:
maven-ant-tasks-retrieve-build:
init-dependencies:
[echo] Loading dependency paths from file: /home/user/cassandra-trunk/build/build-dependencies.xml
init-dependencies:
[echo] Loading dependency paths from file: /home/user/cassandra-trunk/build/build-dependencies-sources.xml
[unzip] Expanding: /home/user/cassandra-trunk/build/lib/jars/org.jacoco.agent-0.7.5.201505241946.jar into /home/user/cassandra-trunk/build/lib/jars
check-gen-cql3-grammar:
gen-cql3-grammar:
generate-cql-html:
generate-jflex-java:
build-project:
[echo] apache-cassandra: /home/user/cassandra-trunk/build.xml
createVersionPropFile:
[propertyfile] Updating property file: /home/user/cassandra-trunk/src/resources/org/apache/cassandra/config/version.properties
[copy] Copying 1 file to /home/user/cassandra-trunk/build/classes/main
build:
build-test:
testsome:
[mkdir] Created dir: /home/user/cassandra-trunk/build/test/cassandra
[mkdir] Created dir: /home/user/cassandra-trunk/build/test/output
[junit] WARNING: multiple versions of ant detected in path for junit
[junit] jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/Project.class
[junit] and jar:file:/home/user/cassandra-trunk/build/lib/jars/ant-1.9.4.jar!/org/apache/tools/ant/Project.class
[junit] Testsuite: org.apache.cassandra.cql3.SimpleQueryTest
[junit] Testsuite: org.apache.cassandra.cql3.SimpleQueryTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.314 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] ERROR [main] 2016-09-08 21:20:29,569 ?:? - SLF4J: stderr
[junit] INFO [main] 2016-09-08 21:20:29,578 ?:? - Configuration location: file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] DEBUG [main] 2016-09-08 21:20:29,579 ?:? - Loading settings from file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] INFO [main] 2016-09-08 21:20:29,861 ?:? - Node configuration:[allocate_tokens_for_keyspace=null; authenticator=null; authorizer=null; auto_bootstrap=true; auto_snapshot=true; batch_size_fail_threshold_in_kb=50; batch_size_warn_threshold_in_kb=5; batchlog_replay_throttle_in_kb=1024; broadcast_address=null; broadcast_rpc_address=null; buffer_pool_use_heap_if_exhausted=true; cas_contention_timeout_in_ms=1000; cdc_enabled=false; cdc_free_space_check_interval_ms=250; cdc_raw_directory=build/test/cassandra/cdc_raw; cdc_total_space_in_mb=null; client_encryption_options=<REDACTED>; cluster_name=Test Cluster; column_index_cache_size_in_kb=2; column_index_size_in_kb=4; commit_failure_policy=stop; commitlog_compression=null; commitlog_directory=build/test/cassandra/commitlog; commitlog_max_compression_buffers_in_pool=3; commitlog_periodic_queue_size=-1; commitlog_segment_size_in_mb=5; commitlog_sync=batch; commitlog_sync_batch_window_in_ms=1.0; commitlog_sync_period_in_ms=null; commitlog_total_space_in_mb=null; compaction_large_partition_warning_threshold_mb=100; compaction_throughput_mb_per_sec=0; concurrent_compactors=4; concurrent_counter_writes=32; concurrent_materialized_view_writes=32; concurrent_reads=32; concurrent_replicates=null; concurrent_writes=32; counter_cache_keys_to_save=2147483647; counter_cache_save_period=7200; counter_cache_size_in_mb=null; counter_write_request_timeout_in_ms=5000; credentials_cache_max_entries=1000; credentials_update_interval_in_ms=-1; credentials_validity_in_ms=2000; cross_node_timeout=false; data_file_directories=[Ljava.lang.String;@3c130745; disk_access_mode=mmap; disk_failure_policy=ignore; disk_optimization_estimate_percentile=0.95; disk_optimization_page_cross_chance=0.1; disk_optimization_strategy=ssd; dynamic_snitch=true; dynamic_snitch_badness_threshold=0.1; dynamic_snitch_reset_interval_in_ms=600000; dynamic_snitch_update_interval_in_ms=100; enable_scripted_user_defined_functions=true; enable_user_defined_functions=true; enable_user_defined_functions_threads=true; encryption_options=null; endpoint_snitch=org.apache.cassandra.locator.SimpleSnitch; file_cache_size_in_mb=null; gc_log_threshold_in_ms=200; gc_warn_threshold_in_ms=0; hinted_handoff_disabled_datacenters=[]; hinted_handoff_enabled=true; hinted_handoff_throttle_in_kb=1024; hints_compression=null; hints_directory=build/test/cassandra/hints; hints_flush_period_in_ms=10000; incremental_backups=true; index_interval=null; index_summary_capacity_in_mb=null; index_summary_resize_interval_in_minutes=60; initial_token=null; inter_dc_stream_throughput_outbound_megabits_per_sec=200; inter_dc_tcp_nodelay=true; internode_authenticator=null; internode_compression=none; internode_recv_buff_size_in_bytes=null; internode_send_buff_size_in_bytes=null; key_cache_keys_to_save=2147483647; key_cache_save_period=14400; key_cache_size_in_mb=null; listen_address=127.0.0.1; listen_interface=null; listen_interface_prefer_ipv6=false; listen_on_broadcast_address=false; max_hint_window_in_ms=10800000; max_hints_delivery_threads=2; max_hints_file_size_in_mb=128; max_mutation_size_in_kb=null; max_streaming_retries=3; max_value_size_in_mb=256; memtable_allocation_type=offheap_objects; memtable_cleanup_threshold=null; memtable_flush_writers=null; memtable_heap_space_in_mb=null; memtable_offheap_space_in_mb=null; min_free_space_per_drive_in_mb=50; native_transport_max_concurrent_connections=-1; native_transport_max_concurrent_connections_per_ip=-1; native_transport_max_frame_size_in_mb=256; native_transport_max_threads=128; native_transport_port=9042; native_transport_port_ssl=null; num_tokens=1; otc_coalescing_strategy=TIMEHORIZON; otc_coalescing_window_us=200; partitioner=org.apache.cassandra.dht.ByteOrderedPartitioner; permissions_cache_max_entries=1000; permissions_update_interval_in_ms=-1; permissions_validity_in_ms=2000; phi_convict_threshold=8.0; prepared_statements_cache_size_mb=null; range_request_timeout_in_ms=10000; read_request_timeout_in_ms=5000; request_scheduler=org.apache.cassandra.scheduler.RoundRobinScheduler; request_scheduler_id=keyspace; request_scheduler_options=null; request_timeout_in_ms=10000; role_manager=null; roles_cache_max_entries=1000; roles_update_interval_in_ms=-1; roles_validity_in_ms=2000; row_cache_class_name=org.apache.cassandra.cache.OHCProvider; row_cache_keys_to_save=2147483647; row_cache_save_period=0; row_cache_size_in_mb=16; rpc_address=null; rpc_interface=null; rpc_interface_prefer_ipv6=false; rpc_keepalive=true; rpc_listen_backlog=50; rpc_max_threads=2147483647; rpc_min_threads=16; rpc_port=9170; rpc_recv_buff_size_in_bytes=null; rpc_send_buff_size_in_bytes=null; rpc_server_type=sync; saved_caches_directory=build/test/cassandra/saved_caches; seed_provider=org.apache.cassandra.locator.SimpleSeedProvider{seeds=127.0.0.1}; server_encryption_options=<REDACTED>; slow_query_log_timeout_in_ms=500; snapshot_before_compaction=false; ssl_storage_port=7001; sstable_preemptive_open_interval_in_mb=50; start_native_transport=true; start_rpc=true; storage_port=7010; stream_throughput_outbound_megabits_per_sec=200; streaming_keep_alive_period_in_secs=300; streaming_socket_timeout_in_ms=86400000; thrift_framed_transport_size_in_mb=15; thrift_max_message_length_in_mb=16; thrift_prepared_statements_cache_size_mb=null; tombstone_failure_threshold=100000; tombstone_warn_threshold=1000; tracetype_query_ttl=86400; tracetype_repair_ttl=604800; transparent_data_encryption_options=org.apache.cassandra.config.TransparentDataEncryptionOptions@cd3fee8; trickle_fsync=false; trickle_fsync_interval_in_kb=10240; truncate_request_timeout_in_ms=60000; unlogged_batch_across_partitions_warn_threshold=10; user_defined_function_fail_timeout=1500; user_defined_function_warn_timeout=500; user_function_timeout_policy=die; windows_timer_interval=0; write_request_timeout_in_ms=2000]
[junit] DEBUG [main] 2016-09-08 21:20:29,862 ?:? - Syncing log with a batch window of 1.0
[junit] INFO [main] 2016-09-08 21:20:29,862 ?:? - DiskAccessMode is mmap, indexAccessMode is mmap
[junit] INFO [main] 2016-09-08 21:20:29,862 ?:? - Global memtable on-heap threshold is enabled at 227MB
[junit] INFO [main] 2016-09-08 21:20:29,862 ?:? - Global memtable off-heap threshold is enabled at 227MB
[junit] INFO [main] 2016-09-08 21:20:30,014 ?:? - Started the RoundRobin Request Scheduler
[junit] DEBUG [main] 2016-09-08 21:20:30,014 ?:? - Loading settings from file:/home/user/cassandra-trunk/test/conf/cassandra.yaml
[junit] INFO [ScheduledTasks:1] 2016-09-08 21:20:30,078 ?:? - Overriding RING_DELAY to 1000ms
[junit] DEBUG [COMMIT-LOG-ALLOCATOR] 2016-09-08 21:20:30,403 ?:? - No segments in reserve; creating a fresh one
[junit] DEBUG [COMMIT-LOG-ALLOCATOR] 2016-09-08 21:20:30,429 ?:? - No segments in reserve; creating a fresh one
[junit] DEBUG [main] 2016-09-08 21:20:30,430 ?:? - CLSM closing and clearing existing commit log segments...
[junit] DEBUG [COMMIT-LOG-ALLOCATOR] 2016-09-08 21:20:30,432 ?:? - No segments in reserve; creating a fresh one
[junit] INFO [main] 2016-09-08 21:20:30,434 ?:? - No commitlog files found; skipping replay
[junit] INFO [main] 2016-09-08 21:20:30,472 ?:? - Initialized prepared statement caches with 10 MB (native) and 10 MB (Thrift)
[junit] WARN [COMMIT-LOG-WRITER] 2016-09-08 21:20:30,519 ?:? - Out of 1 commit log syncs over the past 0.00s with average duration of 7.13ms, 1 have exceeded the configured commit interval by an average of 6.13ms
[junit] DEBUG [main] 2016-09-08 21:20:30,666 ?:? - Using SLF4J as the default logging framework
[junit] DEBUG [main] 2016-09-08 21:20:30,668 ?:? - -Dio.netty.recycler.maxCapacity.default: 262144
[junit] DEBUG [main] 2016-09-08 21:20:30,668 ?:? - -Dio.netty.recycler.maxSharedCapacityFactor: 2
[junit] DEBUG [main] 2016-09-08 21:20:30,668 ?:? - -Dio.netty.recycler.linkCapacity: 16
[junit] DEBUG [main] 2016-09-08 21:20:30,742 ?:? - Adding org.apache.cassandra.config.CFMetaData@7ba8c737[cfId=abac5682-dea6-31c5-b535-b3d6cffd0fb6,ksName=system_schema,cfName=keyspaces,flags=[COMPOUND],params=TableParams{comment=keyspace definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [durable_writes replication]],partitionKeyColumns=[keyspace_name],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[replication, keyspace_name, durable_writes],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,751 ?:? - Adding org.apache.cassandra.config.CFMetaData@42e25b0b[cfId=afddfb9d-bc1e-3068-8056-eed6c302ba09,ksName=system_schema,cfName=tables,flags=[COMPOUND],params=TableParams{comment=table definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [bloom_filter_fp_chance caching cdc comment compaction compression crc_check_chance dclocal_read_repair_chance default_time_to_live extensions flags gc_grace_seconds id max_index_interval memtable_flush_period_in_ms min_index_interval read_repair_chance speculative_retry]],partitionKeyColumns=[keyspace_name],clusteringColumns=[table_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[cdc, dclocal_read_repair_chance, gc_grace_seconds, speculative_retry, id, memtable_flush_period_in_ms, default_time_to_live, min_index_interval, bloom_filter_fp_chance, compression, caching, crc_check_chance, compaction, comment, keyspace_name, read_repair_chance, table_name, extensions, max_index_interval, flags],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,752 ?:? - Adding org.apache.cassandra.config.CFMetaData@44be0077[cfId=24101c25-a2ae-3af7-87c1-b40ee1aca33f,ksName=system_schema,cfName=columns,flags=[COMPOUND],params=TableParams{comment=column definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [clustering_order column_name_bytes kind position type]],partitionKeyColumns=[keyspace_name],clusteringColumns=[table_name, column_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[kind, clustering_order, column_name_bytes, position, keyspace_name, table_name, type, column_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,752 ?:? - Adding org.apache.cassandra.config.CFMetaData@72ef8d15[cfId=4df70b66-6b05-3251-95a1-32b54005fd48,ksName=system_schema,cfName=triggers,flags=[COMPOUND],params=TableParams{comment=trigger definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [options]],partitionKeyColumns=[keyspace_name],clusteringColumns=[table_name, trigger_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[table_name, options, keyspace_name, trigger_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,753 ?:? - Adding org.apache.cassandra.config.CFMetaData@51a9ad5e[cfId=5e7583b5-f3f4-3af1-9a39-b7e1d6f5f11f,ksName=system_schema,cfName=dropped_columns,flags=[COMPOUND],params=TableParams{comment=dropped column registry, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [dropped_time type]],partitionKeyColumns=[keyspace_name],clusteringColumns=[table_name, column_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[table_name, type, keyspace_name, column_name, dropped_time],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,753 ?:? - Adding org.apache.cassandra.config.CFMetaData@72ade7e3[cfId=9786ac1c-dd58-3201-a7cd-ad556410c985,ksName=system_schema,cfName=views,flags=[COMPOUND],params=TableParams{comment=view definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [base_table_id base_table_name bloom_filter_fp_chance caching cdc comment compaction compression crc_check_chance dclocal_read_repair_chance default_time_to_live extensions gc_grace_seconds id include_all_columns max_index_interval memtable_flush_period_in_ms min_index_interval read_repair_chance speculative_retry where_clause]],partitionKeyColumns=[keyspace_name],clusteringColumns=[view_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[cdc, dclocal_read_repair_chance, gc_grace_seconds, speculative_retry, base_table_name, id, memtable_flush_period_in_ms, default_time_to_live, where_clause, min_index_interval, view_name, bloom_filter_fp_chance, compression, caching, crc_check_chance, compaction, base_table_id, comment, keyspace_name, read_repair_chance, include_all_columns, extensions, max_index_interval],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,754 ?:? - Adding org.apache.cassandra.config.CFMetaData@609bcfb6[cfId=5a8b1ca8-6602-3f77-a045-9273d308917a,ksName=system_schema,cfName=types,flags=[COMPOUND],params=TableParams{comment=user defined type definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [field_names field_types]],partitionKeyColumns=[keyspace_name],clusteringColumns=[type_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[field_names, type_name, field_types, keyspace_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,755 ?:? - Adding org.apache.cassandra.config.CFMetaData@560348e6[cfId=96489b79-80be-3e14-a701-66a0b9159450,ksName=system_schema,cfName=functions,flags=[COMPOUND],params=TableParams{comment=user defined function definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.ListType(org.apache.cassandra.db.marshal.UTF8Type))),partitionColumns=[[] | [argument_names body called_on_null_input language return_type]],partitionKeyColumns=[keyspace_name],clusteringColumns=[function_name, argument_types],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[function_name, keyspace_name, argument_names, return_type, body, argument_types, called_on_null_input, language],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,756 ?:? - Adding org.apache.cassandra.config.CFMetaData@23202fce[cfId=924c5587-2e3a-345b-b10c-12f37c1ba895,ksName=system_schema,cfName=aggregates,flags=[COMPOUND],params=TableParams{comment=user defined aggregate definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.ListType(org.apache.cassandra.db.marshal.UTF8Type))),partitionColumns=[[] | [final_func initcond return_type state_func state_type]],partitionKeyColumns=[keyspace_name],clusteringColumns=[aggregate_name, argument_types],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[final_func, aggregate_name, initcond, state_func, keyspace_name, return_type, state_type, argument_types],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,757 ?:? - Adding org.apache.cassandra.config.CFMetaData@37911f88[cfId=0feb57ac-311f-382f-ba6d-9024d305702f,ksName=system_schema,cfName=indexes,flags=[COMPOUND],params=TableParams{comment=secondary index definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=604800, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [kind options]],partitionKeyColumns=[keyspace_name],clusteringColumns=[table_name, index_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[kind, table_name, options, keyspace_name, index_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,813 ?:? - Adding org.apache.cassandra.config.CFMetaData@329dbdbf[cfId=9f5c6374-d485-3229-9a0a-5094af9ad1e3,ksName=system,cfName=IndexInfo,flags=[DENSE],params=TableParams{comment=built column indexes, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [value]],partitionKeyColumns=[table_name],clusteringColumns=[index_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[table_name, index_name, value],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,814 ?:? - Adding org.apache.cassandra.config.CFMetaData@4ef782af[cfId=919a4bc5-7a33-3573-b03e-13fc3f68b465,ksName=system,cfName=batches,flags=[COMPOUND],params=TableParams{comment=batches awaiting replay, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=2, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [version mutations]],partitionKeyColumns=[id],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.TimeUUIDType,columnMetadata=[mutations, version, id],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,814 ?:? - Adding org.apache.cassandra.config.CFMetaData@479cbee5[cfId=b7b7f0c2-fd0a-3410-8c05-3ef614bb7c2d,ksName=system,cfName=paxos,flags=[COMPOUND],params=TableParams{comment=in-progress paxos proposals, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.LeveledCompactionStrategy, options={}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UUIDType),partitionColumns=[[] | [in_progress_ballot most_recent_commit most_recent_commit_at most_recent_commit_version proposal proposal_ballot proposal_version]],partitionKeyColumns=[row_key],clusteringColumns=[cf_id],keyValidator=org.apache.cassandra.db.marshal.BytesType,columnMetadata=[cf_id, most_recent_commit_version, proposal, row_key, proposal_ballot, most_recent_commit_at, proposal_version, in_progress_ballot, most_recent_commit],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,815 ?:? - Adding org.apache.cassandra.config.CFMetaData@5d43661b[cfId=7ad54392-bcdd-35a6-8417-4e047860b377,ksName=system,cfName=local,flags=[COMPOUND],params=TableParams{comment=information about the local node, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [bootstrapped broadcast_address cluster_name cql_version data_center gossip_generation host_id listen_address native_protocol_version partitioner rack release_version rpc_address schema_version thrift_version tokens truncated_at]],partitionKeyColumns=[key],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[cql_version, tokens, bootstrapped, broadcast_address, listen_address, rack, release_version, cluster_name, native_protocol_version, thrift_version, rpc_address, truncated_at, schema_version, key, gossip_generation, data_center, partitioner, host_id],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,816 ?:? - Adding org.apache.cassandra.config.CFMetaData@2fba3fc4[cfId=37f71aca-7dc2-383b-a706-72528af04d4f,ksName=system,cfName=peers,flags=[COMPOUND],params=TableParams{comment=information about known peers in the cluster, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [data_center host_id preferred_ip rack release_version rpc_address schema_version tokens]],partitionKeyColumns=[peer],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.InetAddressType,columnMetadata=[rpc_address, schema_version, preferred_ip, tokens, rack, release_version, peer, data_center, host_id],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,816 ?:? - Adding org.apache.cassandra.config.CFMetaData@1c39680d[cfId=59dfeaea-8db2-3341-91ef-109974d81484,ksName=system,cfName=peer_events,flags=[COMPOUND],params=TableParams{comment=events related to peers, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [hints_dropped]],partitionKeyColumns=[peer],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.InetAddressType,columnMetadata=[peer, hints_dropped],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,818 ?:? - Adding org.apache.cassandra.config.CFMetaData@1c852c0f[cfId=55d76438-4e55-3f8b-9f6e-676d4af3976d,ksName=system,cfName=range_xfers,flags=[COMPOUND],params=TableParams{comment=ranges requested for transfer, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [requested_at]],partitionKeyColumns=[token_bytes],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.BytesType,columnMetadata=[token_bytes, requested_at],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,818 ?:? - Adding org.apache.cassandra.config.CFMetaData@266374ef[cfId=b4dbb7b4-dc49-3fb5-b3bf-ce6e434832ca,ksName=system,cfName=compaction_history,flags=[COMPOUND],params=TableParams{comment=week-long compaction history, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=604800, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [bytes_in bytes_out columnfamily_name compacted_at keyspace_name rows_merged]],partitionKeyColumns=[id],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.UUIDType,columnMetadata=[bytes_out, id, keyspace_name, rows_merged, compacted_at, bytes_in, columnfamily_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,819 ?:? - Adding org.apache.cassandra.config.CFMetaData@37fb0bed[cfId=5a1ff267-ace0-3f12-8563-cfae6103c65e,ksName=system,cfName=sstable_activity,flags=[COMPOUND],params=TableParams{comment=historic sstable read rates, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [rate_120m rate_15m]],partitionKeyColumns=[keyspace_name, columnfamily_name, generation],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.marshal.Int32Type),columnMetadata=[generation, rate_120m, rate_15m, keyspace_name, columnfamily_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,819 ?:? - Adding org.apache.cassandra.config.CFMetaData@7b7fdc8[cfId=618f817b-005f-3678-b8a4-53f3930b8e86,ksName=system,cfName=size_estimates,flags=[COMPOUND],params=TableParams{comment=per-table primary range size estimates, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [mean_partition_size partitions_count]],partitionKeyColumns=[keyspace_name],clusteringColumns=[table_name, range_start, range_end],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[range_start, table_name, mean_partition_size, keyspace_name, partitions_count, range_end],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,820 ?:? - Adding org.apache.cassandra.config.CFMetaData@766653e6[cfId=c539fcab-d65a-31d1-8133-d25605643ee3,ksName=system,cfName=available_ranges,flags=[COMPOUND],params=TableParams{comment=available keyspace/ranges during bootstrap/replace that are ready to be served, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [ranges]],partitionKeyColumns=[keyspace_name],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[ranges, keyspace_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,820 ?:? - Adding org.apache.cassandra.config.CFMetaData@7fc4780b[cfId=6cad20f7-d4f5-3af2-b6e2-0da33c6c1f83,ksName=system,cfName=transferred_ranges,flags=[COMPOUND],params=TableParams{comment=record of transferred ranges for streaming operation, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.InetAddressType),partitionColumns=[[] | [ranges]],partitionKeyColumns=[operation, keyspace_name],clusteringColumns=[peer],keyValidator=org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type),columnMetadata=[ranges, peer, operation, keyspace_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,820 ?:? - Adding org.apache.cassandra.config.CFMetaData@48c76607[cfId=b7f2c108-78cd-3c80-9cd5-d609b2bd149c,ksName=system,cfName=views_builds_in_progress,flags=[COMPOUND],params=TableParams{comment=views builds current progress, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [generation_number last_token]],partitionKeyColumns=[keyspace_name],clusteringColumns=[view_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[view_name, generation_number, keyspace_name, last_token],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,821 ?:? - Adding org.apache.cassandra.config.CFMetaData@1f81aa00[cfId=4b3c50a9-ea87-3d76-9101-6dbc9c38494a,ksName=system,cfName=built_views,flags=[COMPOUND],params=TableParams{comment=built views, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [status_replicated]],partitionKeyColumns=[keyspace_name],clusteringColumns=[view_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[view_name, keyspace_name, status_replicated],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,821 ?:? - Adding org.apache.cassandra.config.CFMetaData@1863d2fe[cfId=2666e205-73ef-38b3-90fe-fecf96e8f0c7,ksName=system,cfName=hints,flags=[DENSE, COMPOUND],params=TableParams{comment=*DEPRECATED* hints awaiting delivery, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32, enabled=false}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.TimeUUIDType, org.apache.cassandra.db.marshal.Int32Type),partitionColumns=[[] | [mutation]],partitionKeyColumns=[target_id],clusteringColumns=[hint_id, message_version],keyValidator=org.apache.cassandra.db.marshal.UUIDType,columnMetadata=[target_id, hint_id, mutation, message_version],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,822 ?:? - Adding org.apache.cassandra.config.CFMetaData@544d57e[cfId=0290003c-977e-397c-ac3e-fdfdc01d626b,ksName=system,cfName=batchlog,flags=[COMPOUND],params=TableParams{comment=*DEPRECATED* batchlog entries, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=2, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [data version written_at]],partitionKeyColumns=[id],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.UUIDType,columnMetadata=[version, data, id, written_at],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,822 ?:? - Adding org.apache.cassandra.config.CFMetaData@53b7f657[cfId=18a9c257-6a0c-3841-ba71-8cd529849fef,ksName=system,cfName=prepared_statements,flags=[COMPOUND],params=TableParams{comment=prepared statements, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [logged_keyspace query_string]],partitionKeyColumns=[prepared_id],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.BytesType,columnMetadata=[logged_keyspace, prepared_id, query_string],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,822 ?:? - Adding org.apache.cassandra.config.CFMetaData@26df6e3a[cfId=b0f22357-4458-3cdb-9631-c43e59ce3676,ksName=system,cfName=schema_keyspaces,flags=[],params=TableParams{comment=*DEPRECATED* keyspace definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[durable_writes strategy_class strategy_options] | [value]],partitionKeyColumns=[keyspace_name],clusteringColumns=[column1],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[value, durable_writes, strategy_options, column1, strategy_class, keyspace_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,823 ?:? - Adding org.apache.cassandra.config.CFMetaData@f14a7d4[cfId=45f5b360-24bc-3f83-a363-1034ea4fa697,ksName=system,cfName=schema_columnfamilies,flags=[COMPOUND],params=TableParams{comment=*DEPRECATED* table definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [bloom_filter_fp_chance caching cf_id comment compaction_strategy_class compaction_strategy_options comparator compression_parameters default_time_to_live default_validator gc_grace_seconds is_dense key_validator local_read_repair_chance max_compaction_threshold max_index_interval memtable_flush_period_in_ms min_compaction_threshold min_index_interval read_repair_chance speculative_retry subcomparator type dropped_columns]],partitionKeyColumns=[keyspace_name],clusteringColumns=[columnfamily_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[memtable_flush_period_in_ms, min_compaction_threshold, default_time_to_live, min_index_interval, key_validator, is_dense, compaction_strategy_options, compaction_strategy_class, max_compaction_threshold, comment, compression_parameters, dropped_columns, max_index_interval, gc_grace_seconds, speculative_retry, local_read_repair_chance, bloom_filter_fp_chance, caching, default_validator, cf_id, keyspace_name, comparator, subcomparator, read_repair_chance, type, columnfamily_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,824 ?:? - Adding org.apache.cassandra.config.CFMetaData@29a5f4e7[cfId=296e9c04-9bec-3085-827d-c17d3df2122a,ksName=system,cfName=schema_columns,flags=[COMPOUND],params=TableParams{comment=*DEPRECATED* column definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [component_index index_name index_options index_type type validator]],partitionKeyColumns=[keyspace_name],clusteringColumns=[columnfamily_name, column_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[validator, component_index, keyspace_name, index_options, type, index_type, index_name, columnfamily_name, column_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,824 ?:? - Adding org.apache.cassandra.config.CFMetaData@42a15bdc[cfId=0359bc71-7123-3ee1-9a4a-b9dfb11fc125,ksName=system,cfName=schema_triggers,flags=[COMPOUND],params=TableParams{comment=*DEPRECATED* trigger definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [trigger_options]],partitionKeyColumns=[keyspace_name],clusteringColumns=[columnfamily_name, trigger_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[trigger_options, keyspace_name, columnfamily_name, trigger_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,825 ?:? - Adding org.apache.cassandra.config.CFMetaData@6f6745d6[cfId=3aa75225-4f82-350b-8d5c-430fa221fa0a,ksName=system,cfName=schema_usertypes,flags=[COMPOUND],params=TableParams{comment=*DEPRECATED* user defined type definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[] | [field_names field_types]],partitionKeyColumns=[keyspace_name],clusteringColumns=[type_name],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[field_names, type_name, field_types, keyspace_name],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,825 ?:? - Adding org.apache.cassandra.config.CFMetaData@4f704591[cfId=d1b675fe-2b50-3ca4-8e49-c0f81989dcad,ksName=system,cfName=schema_functions,flags=[COMPOUND],params=TableParams{comment=*DEPRECATED* user defined function definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.ListType(org.apache.cassandra.db.marshal.UTF8Type))),partitionColumns=[[] | [body called_on_null_input language return_type argument_names argument_types]],partitionKeyColumns=[keyspace_name],clusteringColumns=[function_name, signature],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[function_name, signature, keyspace_name, return_type, argument_names, body, argument_types, called_on_null_input, language],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] DEBUG [main] 2016-09-08 21:20:30,826 ?:? - Adding org.apache.cassandra.config.CFMetaData@1e4d3ce5[cfId=a5fc57fc-9d6c-3bfd-a3fc-01ad54686fea,ksName=system,cfName=schema_aggregates,flags=[COMPOUND],params=TableParams{comment=*DEPRECATED* user defined aggregate definitions, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type, org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.ListType(org.apache.cassandra.db.marshal.UTF8Type))),partitionColumns=[[] | [final_func initcond return_type state_func state_type argument_types]],partitionKeyColumns=[keyspace_name],clusteringColumns=[aggregate_name, signature],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[final_func, aggregate_name, signature, initcond, state_func, keyspace_name, return_type, state_type, argument_types],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] INFO [main] 2016-09-08 21:20:30,827 ?:? - Create new Keyspace: KeyspaceMetadata{name=cql_test_keyspace, params=KeyspaceParams{durable_writes=true, replication=ReplicationParams{class=org.apache.cassandra.locator.SimpleStrategy, replication_factor=1}}, tables=[], views=[], functions=[], types=[]}
[junit] INFO [main] 2016-09-08 21:20:30,890 ?:? - Initializing SIGAR library
[junit] DEBUG [main] 2016-09-08 21:20:30,909 ?:? - no libsigar-amd64-linux.so in java.library.path
[junit] org.hyperic.sigar.SigarException: no libsigar-amd64-linux.so in java.library.path
[junit] at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172) ~[sigar-1.6.4.jar:na]
[junit] at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100) ~[sigar-1.6.4.jar:na]
[junit] at org.apache.cassandra.utils.SigarLibrary.<init>(SigarLibrary.java:47) [main/:na]
[junit] at org.apache.cassandra.utils.SigarLibrary.<clinit>(SigarLibrary.java:28) [main/:na]
[junit] at org.apache.cassandra.utils.UUIDGen.hash(UUIDGen.java:388) [main/:na]
[junit] at org.apache.cassandra.utils.UUIDGen.makeNode(UUIDGen.java:367) [main/:na]
[junit] at org.apache.cassandra.utils.UUIDGen.makeClockSeqAndNode(UUIDGen.java:300) [main/:na]
[junit] at org.apache.cassandra.utils.UUIDGen.<clinit>(UUIDGen.java:41) [main/:na]
[junit] at org.apache.cassandra.utils.ByteBufferUtil.bytes(ByteBufferUtil.java:576) [main/:na]
[junit] at org.apache.cassandra.db.Directories.<init>(Directories.java:202) [main/:na]
[junit] at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:587) [main/:na]
[junit] at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:579) [main/:na]
[junit] at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:409) [main/:na]
[junit] at org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:322) [main/:na]
[junit] at org.apache.cassandra.db.Keyspace.open(Keyspace.java:127) [main/:na]
[junit] at org.apache.cassandra.db.Keyspace.open(Keyspace.java:104) [main/:na]
[junit] at org.apache.cassandra.db.Mutation.apply(Mutation.java:241) [main/:na]
[junit] at org.apache.cassandra.schema.SchemaKeyspace$$Lambda$60/1419064126.accept(Unknown Source) [main/:na]
[junit] at java.util.Collections$SingletonList.forEach(Collections.java:4822) [na:1.8.0_45]
[junit] at org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:1270) [main/:na]
[junit] at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:515) [main/:na]
[junit] at org.apache.cassandra.service.MigrationManager.announceNewKeyspace(MigrationManager.java:304) [main/:na]
[junit] at org.apache.cassandra.service.MigrationManager.announceNewKeyspace(MigrationManager.java:293) [main/:na]
[junit] at org.apache.cassandra.cql3.statements.CreateKeyspaceStatement.announceMigration(CreateKeyspaceStatement.java:104) [main/:na]
[junit] at org.apache.cassandra.cql3.statements.SchemaAlteringStatement.executeInternal(SchemaAlteringStatement.java:120) [main/:na]
[junit] at org.apache.cassandra.cql3.CQLTester.schemaChange(CQLTester.java:689) [classes/:na]
[junit] at org.apache.cassandra.cql3.CQLTester.beforeTest(CQLTester.java:267) [classes/:na]
[junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_45]
[junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_45]
[junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_45]
[junit] at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_45]
[junit] at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) [junit-4.6.jar:na]
[junit] at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) [junit-4.6.jar:na]
[junit] at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) [junit-4.6.jar:na]
[junit] at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) [junit-4.6.jar:na]
[junit] at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) [junit-4.6.jar:na]
[junit] at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) [junit-4.6.jar:na]
[junit] at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:44) [junit-4.6.jar:na]
[junit] at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) [junit-4.6.jar:na]
[junit] at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) [junit-4.6.jar:na]
[junit] at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) [junit-4.6.jar:na]
[junit] at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) [junit-4.6.jar:na]
[junit] at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) [junit-4.6.jar:na]
[junit] at org.junit.runners.ParentRunner.run(ParentRunner.java:220) [junit-4.6.jar:na]
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnit4TestMethodAdapter.run(JUnit4TestMethodAdapter.java:107) [ant-junit4-1.9.7.jar:na]
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535) [ant-junit-1.9.7.jar:na]
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1182) [ant-junit-1.9.7.jar:na]
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1033) [ant-junit-1.9.7.jar:na]
[junit] INFO [main] 2016-09-08 21:20:30,910 ?:? - Could not initialize SIGAR library org.hyperic.sigar.Sigar.getFileSystemListNative()[Lorg/hyperic/sigar/FileSystem;
[junit] INFO [main] 2016-09-08 21:20:30,959 ?:? - Initializing system_schema.keyspaces
[junit] INFO [main] 2016-09-08 21:20:31,011 ?:? - Initializing system_schema.tables
[junit] INFO [main] 2016-09-08 21:20:31,017 ?:? - Initializing system_schema.columns
[junit] INFO [main] 2016-09-08 21:20:31,022 ?:? - Initializing system_schema.triggers
[junit] INFO [main] 2016-09-08 21:20:31,027 ?:? - Initializing system_schema.dropped_columns
[junit] INFO [main] 2016-09-08 21:20:31,032 ?:? - Initializing system_schema.views
[junit] INFO [main] 2016-09-08 21:20:31,036 ?:? - Initializing system_schema.types
[junit] INFO [main] 2016-09-08 21:20:31,039 ?:? - Initializing system_schema.functions
[junit] INFO [main] 2016-09-08 21:20:31,044 ?:? - Initializing system_schema.aggregates
[junit] INFO [main] 2016-09-08 21:20:31,047 ?:? - Initializing system_schema.indexes
[junit] INFO [main] 2016-09-08 21:20:31,048 ?:? - Not submitting build tasks for views in keyspace system_schema as storage service is not initialized
[junit] DEBUG [COMMIT-LOG-ALLOCATOR] 2016-09-08 21:20:31,072 ?:? - No segments in reserve; creating a fresh one
[junit] DEBUG [main] 2016-09-08 21:20:31,080 ?:? - Enqueuing flush of keyspaces: 0.279KiB (0%) on-heap, 0.151KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:31,414 ?:? - Writing Memtable-keyspaces@1402398559(0.146KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:31,419 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-1-big-Data.db (0.124KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=216)
[junit] INFO [MemtableFlushWriter:1] 2016-09-08 21:20:31,478 ?:? - Initializing key cache with capacity of 12 MBs.
[junit] INFO [MemtableFlushWriter:1] 2016-09-08 21:20:31,484 ?:? - Initializing row cache with capacity of 16 MBs
[junit] INFO [MemtableFlushWriter:1] 2016-09-08 21:20:31,500 ?:? - OHC using Java8 Unsafe API
[junit] INFO [MemtableFlushWriter:1] 2016-09-08 21:20:31,500 ?:? - OHC using JNA OS native malloc/free
[junit] DEBUG [MemtableFlushWriter:1] 2016-09-08 21:20:31,501 ?:? - OHC instance with 16 segments and capacity of 16777216 created.
[junit] INFO [MemtableFlushWriter:1] 2016-09-08 21:20:31,502 ?:? - Initializing counter cache with capacity of 6 MBs
[junit] INFO [MemtableFlushWriter:1] 2016-09-08 21:20:31,502 ?:? - Scheduling counter cache save to every 7200 seconds (going to save all keys).
[junit] DEBUG [MemtableFlushWriter:1] 2016-09-08 21:20:31,522 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-1-big-Data.db')] (1 sstables, 5.104KiB), biggest 5.104KiB, smallest 5.104KiB
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,524 ?:? - forceFlush requested but everything is clean in tables
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,524 ?:? - forceFlush requested but everything is clean in columns
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,525 ?:? - forceFlush requested but everything is clean in dropped_columns
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,525 ?:? - forceFlush requested but everything is clean in triggers
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,525 ?:? - forceFlush requested but everything is clean in views
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,525 ?:? - forceFlush requested but everything is clean in types
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,525 ?:? - forceFlush requested but everything is clean in functions
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,525 ?:? - forceFlush requested but everything is clean in aggregates
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,525 ?:? - forceFlush requested but everything is clean in indexes
[junit] INFO [main] 2016-09-08 21:20:31,586 ?:? - Global buffer pool is enabled, when pool is exhausted (max is 227.000MiB) it will allocate on heap
[junit] INFO [main] 2016-09-08 21:20:31,658 ?:? - Not submitting build tasks for views in keyspace cql_test_keyspace as storage service is not initialized
[junit] INFO [main] 2016-09-08 21:20:31,663 ?:? - Create new Keyspace: KeyspaceMetadata{name=cql_test_keyspace_alt, params=KeyspaceParams{durable_writes=true, replication=ReplicationParams{class=org.apache.cassandra.locator.SimpleStrategy, replication_factor=1}}, tables=[], views=[], functions=[], types=[]}
[junit] DEBUG [main] 2016-09-08 21:20:31,665 ?:? - Enqueuing flush of keyspaces: 0.279KiB (0%) on-heap, 0.155KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:31,677 ?:? - Writing Memtable-keyspaces@209351132(0.146KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:31,678 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-2-big-Data.db (0.128KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=408)
[junit] DEBUG [MemtableFlushWriter:2] 2016-09-08 21:20:31,711 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-2-big-Data.db')] (1 sstables, 5.122KiB), biggest 5.122KiB, smallest 5.122KiB
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,712 ?:? - forceFlush requested but everything is clean in tables
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,712 ?:? - forceFlush requested but everything is clean in columns
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,712 ?:? - forceFlush requested but everything is clean in dropped_columns
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,712 ?:? - forceFlush requested but everything is clean in triggers
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,712 ?:? - forceFlush requested but everything is clean in views
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,712 ?:? - forceFlush requested but everything is clean in types
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,712 ?:? - forceFlush requested but everything is clean in functions
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,712 ?:? - forceFlush requested but everything is clean in aggregates
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,712 ?:? - forceFlush requested but everything is clean in indexes
[junit] INFO [main] 2016-09-08 21:20:31,717 ?:? - Not submitting build tasks for views in keyspace cql_test_keyspace_alt as storage service is not initialized
[junit] INFO [main] 2016-09-08 21:20:31,717 ?:? - CREATE TABLE cql_test_keyspace.table_0 (k text PRIMARY KEY, v1 int, v2 text) WITH COMPACT STORAGE
[junit] INFO [main] 2016-09-08 21:20:31,718 ?:? - Create new table: org.apache.cassandra.config.CFMetaData@485e36bc[cfId=0494c860-75c7-11e6-9e7a-57ce605afbc8,ksName=cql_test_keyspace,cfName=table_0,flags=[],params=TableParams{comment=, read_repair_chance=0.0, dclocal_read_repair_chance=0.1, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=864000, default_time_to_live=0, memtable_flush_period_in_ms=0, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[v1 v2] | [value]],partitionKeyColumns=[k],clusteringColumns=[column1],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[k, value, column1, v2, v1],droppedColumns={},triggers=[],indexes=[]]
[junit] DEBUG [main] 2016-09-08 21:20:31,724 ?:? - Enqueuing flush of keyspaces: 0.279KiB (0%) on-heap, 0.151KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:31,735 ?:? - Writing Memtable-keyspaces@569893355(0.146KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:31,736 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-3-big-Data.db (0.124KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=1637)
[junit] DEBUG [MemtableFlushWriter:1] 2016-09-08 21:20:31,767 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-3-big-Data.db')] (1 sstables, 5.104KiB), biggest 5.104KiB, smallest 5.104KiB
[junit] DEBUG [main] 2016-09-08 21:20:31,768 ?:? - Enqueuing flush of tables: 0.686KiB (0%) on-heap, 0.728KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:31,780 ?:? - Writing Memtable-tables@45981219(0.646KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:31,781 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/tables-afddfb9dbc1e30688056eed6c302ba09/mc-1-big-Data.db (0.412KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=1637)
[junit] DEBUG [MemtableFlushWriter:2] 2016-09-08 21:20:31,812 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/tables-afddfb9dbc1e30688056eed6c302ba09/mc-1-big-Data.db')] (1 sstables, 6.683KiB), biggest 6.683KiB, smallest 6.683KiB
[junit] DEBUG [main] 2016-09-08 21:20:31,813 ?:? - Enqueuing flush of columns: 1.217KiB (0%) on-heap, 0.742KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:31,824 ?:? - Writing Memtable-columns@1485086994(0.666KiB serialized bytes, 5 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:31,827 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/columns-24101c25a2ae3af787c1b40ee1aca33f/mc-1-big-Data.db (0.274KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=1637)
[junit] DEBUG [MemtableFlushWriter:1] 2016-09-08 21:20:31,864 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/columns-24101c25a2ae3af787c1b40ee1aca33f/mc-1-big-Data.db')] (1 sstables, 5.312KiB), biggest 5.312KiB, smallest 5.312KiB
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,864 ?:? - forceFlush requested but everything is clean in dropped_columns
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,864 ?:? - forceFlush requested but everything is clean in triggers
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,864 ?:? - forceFlush requested but everything is clean in views
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,864 ?:? - forceFlush requested but everything is clean in types
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,864 ?:? - forceFlush requested but everything is clean in functions
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,864 ?:? - forceFlush requested but everything is clean in aggregates
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:31,864 ?:? - forceFlush requested but everything is clean in indexes
[junit] INFO [main] 2016-09-08 21:20:31,897 ?:? - Initializing cql_test_keyspace.table_0
[junit] DEBUG [main] 2016-09-08 21:20:31,900 ?:? - Adding org.apache.cassandra.config.CFMetaData@e98770d[cfId=0494c860-75c7-11e6-9e7a-57ce605afbc8,ksName=cql_test_keyspace,cfName=table_0,flags=[],params=TableParams{comment=, read_repair_chance=0.0, dclocal_read_repair_chance=0.1, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=864000, default_time_to_live=0, memtable_flush_period_in_ms=0, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={max_threshold=32, min_threshold=4}}, compression=org.apache.cassandra.schema.CompressionParams@a7ad1d95, extensions={}, cdc=false},comparator=comparator(org.apache.cassandra.db.marshal.UTF8Type),partitionColumns=[[v1 v2] | [value]],partitionKeyColumns=[k],clusteringColumns=[column1],keyValidator=org.apache.cassandra.db.marshal.UTF8Type,columnMetadata=[k, value, column1, v2, v1],droppedColumns={},triggers=[],indexes=[]] to cfIdMap
[junit] INFO [main] 2016-09-08 21:20:31,934 ?:? - Drop Keyspace 'cql_test_keyspace_alt'
[junit] DEBUG [main] 2016-09-08 21:20:31,936 ?:? - Enqueuing flush of keyspaces: 0.123KiB (0%) on-heap, 0.024KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:31,951 ?:? - Writing Memtable-keyspaces@109189804(0.008KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:31,952 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-4-big-Data.db (0.035KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=2459)
[junit] DEBUG [MemtableFlushWriter:2] 2016-09-08 21:20:31,985 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-4-big-Data.db')] (1 sstables, 4.801KiB), biggest 4.801KiB, smallest 4.801KiB
[junit] DEBUG [main] 2016-09-08 21:20:31,986 ?:? - Enqueuing flush of tables: 0.123KiB (0%) on-heap, 0.024KiB (0%) off-heap
[junit] DEBUG [CompactionExecutor:2] 2016-09-08 21:20:31,990 ?:? - Compacting (04bdd430-75c7-11e6-9e7a-57ce605afbc8) [/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-4-big-Data.db:level=0, /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-1-big-Data.db:level=0, /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-3-big-Data.db:level=0, /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-2-big-Data.db:level=0, ]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:32,009 ?:? - Writing Memtable-tables@454832439(0.008KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:32,009 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/tables-afddfb9dbc1e30688056eed6c302ba09/mc-2-big-Data.db (0.035KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=2459)
[junit] DEBUG [MemtableFlushWriter:1] 2016-09-08 21:20:32,065 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/tables-afddfb9dbc1e30688056eed6c302ba09/mc-2-big-Data.db')] (1 sstables, 4.841KiB), biggest 4.841KiB, smallest 4.841KiB
[junit] DEBUG [main] 2016-09-08 21:20:32,065 ?:? - Enqueuing flush of columns: 0.123KiB (0%) on-heap, 0.024KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:32,088 ?:? - Writing Memtable-columns@1132499992(0.008KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:32,089 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/columns-24101c25a2ae3af787c1b40ee1aca33f/mc-2-big-Data.db (0.035KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=2459)
[junit] DEBUG [MemtableFlushWriter:2] 2016-09-08 21:20:32,148 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/columns-24101c25a2ae3af787c1b40ee1aca33f/mc-2-big-Data.db')] (1 sstables, 4.881KiB), biggest 4.881KiB, smallest 4.881KiB
[junit] DEBUG [main] 2016-09-08 21:20:32,148 ?:? - Enqueuing flush of dropped_columns: 0.123KiB (0%) on-heap, 0.024KiB (0%) off-heap
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,151 ?:? - Initializing system.IndexInfo
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,155 ?:? - Initializing system.batches
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,159 ?:? - Initializing system.paxos
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,164 ?:? - Initializing system.local
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,167 ?:? - Initializing system.peers
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:32,169 ?:? - Writing Memtable-dropped_columns@2014183123(0.008KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:32,169 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/dropped_columns-5e7583b5f3f43af19a39b7e1d6f5f11f/mc-1-big-Data.db (0.035KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=2459)
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,171 ?:? - Initializing system.peer_events
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,174 ?:? - Initializing system.range_xfers
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,178 ?:? - Initializing system.compaction_history
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,181 ?:? - Initializing system.sstable_activity
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,184 ?:? - Initializing system.size_estimates
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,187 ?:? - Initializing system.available_ranges
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,189 ?:? - Initializing system.transferred_ranges
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,193 ?:? - Initializing system.views_builds_in_progress
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,197 ?:? - Initializing system.built_views
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,199 ?:? - Initializing system.hints
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,203 ?:? - Initializing system.batchlog
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,207 ?:? - Initializing system.prepared_statements
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,209 ?:? - Initializing system.schema_keyspaces
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,212 ?:? - Initializing system.schema_columnfamilies
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,215 ?:? - Initializing system.schema_columns
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,217 ?:? - Initializing system.schema_triggers
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,220 ?:? - Initializing system.schema_usertypes
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,224 ?:? - Initializing system.schema_functions
[junit] DEBUG [MemtableFlushWriter:1] 2016-09-08 21:20:32,225 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/dropped_columns-5e7583b5f3f43af19a39b7e1d6f5f11f/mc-1-big-Data.db')] (1 sstables, 4.881KiB), biggest 4.881KiB, smallest 4.881KiB
[junit] DEBUG [main] 2016-09-08 21:20:32,226 ?:? - Enqueuing flush of triggers: 0.123KiB (0%) on-heap, 0.024KiB (0%) off-heap
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,227 ?:? - Initializing system.schema_aggregates
[junit] INFO [CompactionExecutor:2] 2016-09-08 21:20:32,228 ?:? - Not submitting build tasks for views in keyspace system as storage service is not initialized
[junit] DEBUG [CompactionExecutor:2] 2016-09-08 21:20:32,231 ?:? - Compacted (04bdd430-75c7-11e6-9e7a-57ce605afbc8) 4 sstables to [/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/mc-5-big,] to level=0. 0.444KiB to 0.156KiB (~35% of original) in 151ms. Read Throughput = 2.937KiB/s, Write Throughput = 1.032KiB/s, Row Throughput = ~3/s. 4 total partitions merged to 2. Partition merge counts were {2:2, }
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:32,246 ?:? - Writing Memtable-triggers@472643877(0.008KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:32,246 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/triggers-4df70b666b05325195a132b54005fd48/mc-1-big-Data.db (0.035KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=2459)
[junit] DEBUG [MemtableFlushWriter:2] 2016-09-08 21:20:32,296 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/triggers-4df70b666b05325195a132b54005fd48/mc-1-big-Data.db')] (1 sstables, 4.881KiB), biggest 4.881KiB, smallest 4.881KiB
[junit] DEBUG [main] 2016-09-08 21:20:32,296 ?:? - Enqueuing flush of views: 0.123KiB (0%) on-heap, 0.024KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:32,308 ?:? - Writing Memtable-views@1718329472(0.008KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:32,308 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/views-9786ac1cdd583201a7cdad556410c985/mc-1-big-Data.db (0.035KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=3048)
[junit] DEBUG [MemtableFlushWriter:1] 2016-09-08 21:20:32,339 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/views-9786ac1cdd583201a7cdad556410c985/mc-1-big-Data.db')] (1 sstables, 4.841KiB), biggest 4.841KiB, smallest 4.841KiB
[junit] DEBUG [main] 2016-09-08 21:20:32,340 ?:? - Enqueuing flush of types: 0.123KiB (0%) on-heap, 0.024KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:32,351 ?:? - Writing Memtable-types@1921593349(0.008KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:32,352 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/types-5a8b1ca866023f77a0459273d308917a/mc-1-big-Data.db (0.035KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=3048)
[junit] DEBUG [MemtableFlushWriter:2] 2016-09-08 21:20:32,381 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/types-5a8b1ca866023f77a0459273d308917a/mc-1-big-Data.db')] (1 sstables, 4.841KiB), biggest 4.841KiB, smallest 4.841KiB
[junit] DEBUG [main] 2016-09-08 21:20:32,381 ?:? - Enqueuing flush of functions: 0.123KiB (0%) on-heap, 0.024KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:32,393 ?:? - Writing Memtable-functions@454693230(0.008KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:32,393 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/functions-96489b7980be3e14a70166a0b9159450/mc-1-big-Data.db (0.035KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=3048)
[junit] DEBUG [MemtableFlushWriter:1] 2016-09-08 21:20:32,429 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/functions-96489b7980be3e14a70166a0b9159450/mc-1-big-Data.db')] (1 sstables, 4.965KiB), biggest 4.965KiB, smallest 4.965KiB
[junit] DEBUG [main] 2016-09-08 21:20:32,429 ?:? - Enqueuing flush of aggregates: 0.123KiB (0%) on-heap, 0.024KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:32,440 ?:? - Writing Memtable-aggregates@1690829698(0.008KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:32,441 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/aggregates-924c55872e3a345bb10c12f37c1ba895/mc-1-big-Data.db (0.035KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=3048)
[junit] DEBUG [MemtableFlushWriter:2] 2016-09-08 21:20:32,475 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/aggregates-924c55872e3a345bb10c12f37c1ba895/mc-1-big-Data.db')] (1 sstables, 4.965KiB), biggest 4.965KiB, smallest 4.965KiB
[junit] DEBUG [main] 2016-09-08 21:20:32,476 ?:? - Enqueuing flush of indexes: 0.123KiB (0%) on-heap, 0.024KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:32,487 ?:? - Writing Memtable-indexes@1643454131(0.008KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:32,487 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system_schema/indexes-0feb57ac311f382fba6d9024d305702f/mc-1-big-Data.db (0.035KiB) for commitlog position CommitLogPosition(segmentId=1473340830408, position=3048)
[junit] DEBUG [MemtableFlushWriter:1] 2016-09-08 21:20:32,522 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system_schema/indexes-0feb57ac311f382fba6d9024d305702f/mc-1-big-Data.db')] (1 sstables, 4.881KiB), biggest 4.881KiB, smallest 4.881KiB
[junit] DEBUG [COMMIT-LOG-ALLOCATOR] 2016-09-08 21:20:32,526 ?:? - No segments in reserve; creating a fresh one
[junit] DEBUG [main] 2016-09-08 21:20:32,531 ?:? - Enqueuing flush of table_0: 0.814KiB (0%) on-heap, 0.180KiB (0%) off-heap
[junit] DEBUG [main] 2016-09-08 21:20:32,531 ?:? - Enqueuing flush of sstable_activity: 0.492KiB (0%) on-heap, 0.152KiB (0%) off-heap
[junit] DEBUG [main] 2016-09-08 21:20:32,531 ?:? - Enqueuing flush of compaction_history: 0.436KiB (0%) on-heap, 0.207KiB (0%) off-heap
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:32,543 ?:? - Writing Memtable-table_0@598698839(0.208KiB serialized bytes, 3 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:32,543 ?:? - Writing Memtable-sstable_activity@1989779256(0.031KiB serialized bytes, 4 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:32,543 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system/sstable_activity-5a1ff267ace03f128563cfae6103c65e/mc-1-big-Data.db (0.195KiB) for commitlog position CommitLogPosition(segmentId=1473340830409, position=28)
[junit] DEBUG [PerDiskMemtableFlushWriter_0:2] 2016-09-08 21:20:32,543 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/cql_test_keyspace/table_0-0494c86075c711e69e7a57ce605afbc8/mc-1-big-Data.db (0.119KiB) for commitlog position CommitLogPosition(segmentId=1473340830409, position=28)
[junit] DEBUG [MemtableFlushWriter:1] 2016-09-08 21:20:32,592 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system/sstable_activity-5a1ff267ace03f128563cfae6103c65e/mc-1-big-Data.db')] (1 sstables, 5.159KiB), biggest 5.159KiB, smallest 5.159KiB
[junit] DEBUG [MemtableFlushWriter:2] 2016-09-08 21:20:32,592 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/cql_test_keyspace/table_0-0494c86075c711e69e7a57ce605afbc8/mc-1-big-Data.db')] (1 sstables, 4.939KiB), biggest 4.939KiB, smallest 4.939KiB
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:32,603 ?:? - Writing Memtable-compaction_history@102213501(0.198KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit), flushed range = (null, null]
[junit] DEBUG [PerDiskMemtableFlushWriter_0:1] 2016-09-08 21:20:32,604 ?:? - Completed flushing /home/user/cassandra-trunk/build/test/cassandra/data/system/compaction_history-b4dbb7b4dc493fb5b3bfce6e434832ca/mc-1-big-Data.db (0.107KiB) for commitlog position CommitLogPosition(segmentId=1473340830409, position=28)
[junit] DEBUG [MemtableFlushWriter:1] 2016-09-08 21:20:32,640 ?:? - Flushed to [BigTableReader(path='/home/user/cassandra-trunk/build/test/cassandra/data/system/compaction_history-b4dbb7b4dc493fb5b3bfce6e434832ca/mc-1-big-Data.db')] (1 sstables, 5.264KiB), biggest 5.264KiB, smallest 5.264KiB
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:32,640 ?:? - Commit log segment CommitLogSegment(build/test/cassandra/commitlog/CommitLog-6-1473340830408.log) is unused
[junit] DEBUG [MemtablePostFlush:1] 2016-09-08 21:20:32,640 ?:? - Segment CommitLogSegment(build/test/cassandra/commitlog/CommitLog-6-1473340830408.log) is no longer active and will be deleted now
[junit] ------------- ---------------- ---------------
[junitreport] Processing /home/user/cassandra-trunk/build/test/TESTS-TestSuites.xml to /tmp/null1296955121
[junitreport] Loading stylesheet jar:file:/usr/share/ant/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl
[junitreport] Transform time: 243ms
[junitreport] Deleting: /tmp/null1296955121
BUILD SUCCESSFUL
Total time: 5 seconds
user@localhost:~/cassandra-trunk$
</code></pre>
<br />
That's it, happy testing and develop for cassandra.<br />
<br />
<br />Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-72345657867397887222017-06-30T00:00:00.000+08:002017-06-30T00:00:27.160+08:00How to start apache cassandra in eclipse?This quick tutorial served as a guidance on how to start cassandra in eclipse. It has assumption that you had git clone apache cassandra and then setup in eclipse.<br />
<br />
With that said, point your mouse cursor to 'Run' menu, then 'Run Configurations...'. In the popup window, left tree menu, select 'Java Application' and create a new application, see screenshot below,<br />
<br />
<b>Main class : org.apache.cassandra.service.CassandraDaemon</b><br />
<b><br /></b>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigVvy-OlVOhMH4Vx-l-Ssk9Lg8dHIJrLmO64LHmsefwEowZ25jBUw4eWgGxTvXP1YAxljVBFh-PBCj6HndVxmWh2I-ZzYjNXONWNcAQQuPPBgXNkZ07gFAWjBnfh3_cZ_85TZUgHgLaFLG/s1600/Screenshot+from+2016-09-08+20-24-39.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="321" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigVvy-OlVOhMH4Vx-l-Ssk9Lg8dHIJrLmO64LHmsefwEowZ25jBUw4eWgGxTvXP1YAxljVBFh-PBCj6HndVxmWh2I-ZzYjNXONWNcAQQuPPBgXNkZ07gFAWjBnfh3_cZ_85TZUgHgLaFLG/s640/Screenshot+from+2016-09-08+20-24-39.png" width="640" /></a></div>
<b><br /></b>
<br />
Click on the 'Arguments' tab , and the provide the arguments to start cassandra.<br />
<br />
<b>-Xms1024M -Xmx1024M -Xmn220M -Xss256k -ea -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCondCardMark -javaagent:./lib/jamm-0.3.0.jar -Djava.net.preferIPv4Stack=true</b><br />
<b><br /></b>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxTraYkgFys-Mxm41Q0L1yFx0zq81wejGE3qvdLmvBqDfcX8d1jWa_10kHmmhRRhscSY0hrKUyIw_GaZznJk60ml_DDs-xHbrkRw4xHJ4ztO9kVsK-udW6cKBOOgWzcesVXaQhIRRu2dTB/s1600/Screenshot+from+2016-09-08+20-25-32.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="338" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxTraYkgFys-Mxm41Q0L1yFx0zq81wejGE3qvdLmvBqDfcX8d1jWa_10kHmmhRRhscSY0hrKUyIw_GaZznJk60ml_DDs-xHbrkRw4xHJ4ztO9kVsK-udW6cKBOOgWzcesVXaQhIRRu2dTB/s640/Screenshot+from+2016-09-08+20-25-32.png" width="640" /></a></div>
<b><br /></b>
<br />
click on Apply and then Run button!<br />
<br />
Check the 'Progress' window and see cassandra is starting.<br />
<br />
Last but not least, when you are done, remember to terminate the jvm.Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-20984098457627292172017-06-18T00:00:00.000+08:002017-06-18T00:00:04.544+08:00setup local cassandra repository coexist with cassandra upstream For the past several years, <b><i>apache cassandra</i></b> has always been in my working realm. From start of cassandra 0.8 until cassandra 1.2 to beyond cassandra 3.9 (as of this time), I have been using it by modelling data in cassandra, inserting, retrieving, administrating and maintenance of production cluster.<br />
<div>
<br /></div>
<div>
<div>
So to take a step further, I thought of going into cassandra development. In this article, I will describe how I got source from cassandra official git repository and setup my own repository in github , so to coexist both of them.</div>
</div>
<div>
<br /></div>
<div>
Previously I have done git clone http://git-wip-us.apache.org/repos/asf/cassandra.git</div>
<div>
<br /></div>
<div>
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/cassandra-trunk$ git remote -v
origin http://git-wip-us.apache.org/repos/asf/cassandra.git (fetch)
origin http://git-wip-us.apache.org/repos/asf/cassandra.git (push)
</code></pre>
<div>
<br /></div>
<div>
So pretty much usual. Now, let's change to the follow<br />
* origin point to github repository<br />
* upstream point to github repository<br />
<br />
First, let's remove the remote origin and then add my repository in github. Of cause, create an empty repository in github first before you continue following.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/cassandra-trunk$ git remote remove origin
user@localhost:~/cassandra-trunk$ git remote add origin https://github.com/jasonwee/cassandra.git
</code></pre>
<br />
Now, let's check the remote origin.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/cassandra-trunk$ git remote -v
origin https://github.com/jasonwee/cassandra.git (fetch)
origin https://github.com/jasonwee/cassandra.git (push)
</code></pre>
<br />
okay, everything is on track and expected. Now let's add upstream to the cassandra git repository.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/cassandra-trunk$ git remote add upstream http://git-wip-us.apache.org/repos/asf/cassandra.git
</code></pre>
<br />
and then we check again.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/workspace/StudyCassandra/cassandra-trunk$ git remote -v
origin https://github.com/jasonwee/cassandra.git (fetch)
origin https://github.com/jasonwee/cassandra.git (push)
upstream http://git-wip-us.apache.org/repos/asf/cassandra.git (fetch)
upstream http://git-wip-us.apache.org/repos/asf/cassandra.git (push)
</code></pre>
<br />
OK! everything is good to go. okay.. now that we have two remote repositories, so how should we continue to work further? Now, when we pull, we have to first specify where to pull from and what branch to pull. In the following example, we pull from upstream on the trunk (master) branch.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/cassandra-trunk$ git pull upstream trunk
From http://git-wip-us.apache.org/repos/asf/cassandra
* branch trunk -> FETCH_HEAD
Already up-to-date.
</code></pre>
<br />
beautiful, now we can pull from upstream and into our working repository. Let's push our repository into github now.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/cassandra-trunk$ git push -u origin trunk
Counting objects: 266270, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (42703/42703), done.
Writing objects: 100% (266270/266270), 136.16 MiB | 547.00 KiB/s, done.
Total 266270 (delta 160130), reused 265316 (delta 159364)
remote: Resolving deltas: 100% (160130/160130), done.
To https://github.com/jasonwee/cassandra.git
* [new branch] trunk -> trunk
Branch trunk set up to track remote branch trunk from origin.
</code></pre>
<br />
okay, that's it, one more step ahead.<br />
<br /></div>
</div>
Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-43645809077767520022017-06-17T00:00:00.000+08:002017-06-17T00:00:00.171+08:00how to debug remote cassandra with eclipseThis tutorial is written such a way you install cassandra using debian package and want to debug remote apache cassandra instance with another workstation with eclipse install. With that said, let's start.<br />
<br />
* uncomment the following lines in this cassandra environment file /etc/cassandra/cassandra-env.sh . The cassandra environment for debian is located at the path specified.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> # JVM_OPTS="$JVM_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414"
</code></pre>
<br />
* restart apache cassandra instance and verify the above jvm options are shown in ps output.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> $ ps aux | grep cassandra | grep --color 1414
cassand+ 26718 44.8 29.8 1556048 1232024 ? SLl 19:19 2:28 /usr/lib/jvm/jdk1.8.0_45//bin/java -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1 -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSWaitDuration=10000 -XX:+CMSParallelInitialMarkEnabled -XX:+CMSEdenChunksRecordAlways -XX:+CMSClassUnloadingEnabled -Xms1024M -Xmx1024M -Xmn200M -ea -Xss256k -XX:+AlwaysPreTouch -XX:-UseBiasedLocking -XX:StringTableSize=1000003 -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:CompileCommandFile=/etc/cassandra/hotspot_compiler -javaagent:/usr/share/cassandra/lib/jamm-0.3.0.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -XX:+HeapDumpOnOutOfMemoryError -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414 -Djava.net.preferIPv4Stack=false -Dcassandra.jmx.local.port=7199 -XX:+DisableExplicitGC -Djava.library.path=/usr/share/cassandra/lib/sigar-bin -Dlogback.configurationFile=logback.xml -Dcassandra.logdir=/var/log/cassandra -Dcassandra.storagedir=/var/lib/cassandra -Dcassandra-pidfile=/var/run/cassandra/cassandra.pid -cp /etc/cassandra:/usr/share/cassandra/lib/ST4-4.0.8.jar:/usr/share/cassandra/lib/airline-0.6.jar:/usr/share/cassandra/lib/antlr-runtime-3.5.2.jar:/usr/share/cassandra/lib/asm-5.0.4.jar:/usr/share/cassandra/lib/cassandra-driver-core-3.0.0-beta1-bb1bce4-SNAPSHOT-shaded.jar:/usr/share/cassandra/lib/commons-cli-1.1.jar:/usr/share/cassandra/lib/commons-codec-1.2.jar:/usr/share/cassandra/lib/commons-lang3-3.1.jar:/usr/share/cassandra/lib/commons-math3-3.2.jar:/usr/share/cassandra/lib/compress-lzf-0.8.4.jar:/usr/share/cassandra/lib/concurrentlinkedhashmap-lru-1.4.jar:/usr/share/cassandra/lib/disruptor-3.0.1.jar:/usr/share/cassandra/lib/ecj-4.4.2.jar:/usr/share/cassandra/lib/guava-18.0.jar:/usr/share/cassandra/lib/high-scale-lib-1.0.6.jar:/usr/share/cassandra/lib/jackson-core-asl-1.9.2.jar:/usr/share/cassandra/lib/jackson-mapper-asl-1.9.2.jar:/usr/share/cassandra/lib/jamm-0.3.0.jar:/usr/share/cassandra/lib/javax.inject.jar:/usr/share/cassandra/lib/jbcrypt-0.3m.jar:/usr/share/cassandra/lib/jcl-over-slf4j-1.7.7.jar:/usr/share/cassandra/lib/jgrapht-core-0.9.1.jar:/usr/share/cassandra/lib/jna-4.0.0.jar:/usr/share/cassandra/lib/joda-time-2.4.jar:/usr/share/cassandra/lib/json-simple-1.1.jar:/usr/share/cassandra/lib/libthrift-0.9.2.jar:/usr/share/cassandra/lib/log4j-over-slf4j-1.7.7.jar:/usr/share/cassandra/lib/logback-classic-1.1.3.jar:/usr/share/cassandra/lib/logback-core-1.1.3.jar:/usr/share/cassandra/lib/lz4-1.3.0.jar:/usr/share/cassandra/lib/metrics-core-3.1.0.jar:/usr/share/cassandra/lib/metrics-logback-3.1.0.jar:/usr/share/cassandra/lib/netty-all-4.0.23.Final.jar:/usr/share/cassandra/lib/ohc-core-0.4.2.jar:/usr/share/cassandra/lib/ohc-core-j8-0.4.2.jar:/usr/share/cassandra/lib/reporter-config-base-3.0.0.jar:/usr/share/cassandra/lib/reporter-config3-3.0.0.jar:/usr/share/cassandra/lib/sigar-1.6.4.jar:/usr/share/cassandra/lib/slf4j-api-1.7.7.jar:/usr/share/cassandra/lib/snakeyaml-1.11.jar:/usr/share/cassandra/lib/snappy-java-1.1.1.7.jar:/usr/share/cassandra/lib/stream-2.5.2.jar:/usr/share/cassandra/lib/thrift-server-0.3.7.jar:/usr/share/cassandra/apache-cassandra-3.0.0.jar:/usr/share/cassandra/apache-cassandra-thrift-3.0.0.jar:/usr/share/cassandra/apache-cassandra.jar:/usr/share/cassandra/stress.jar: -XX:HeapDumpPath=/var/lib/cassandra/java_1473247174.hprof -XX:ErrorFile=/var/lib/cassandra/hs_err_1473247174.log org.apache.cassandra.service.CassandraDaemon# JVM_OPTS="$JVM_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414"
</code></pre>
<br />
* okay looks good, now let's move on to the eclipse. See the screenshot below, connect to it. To get to the debu configuration window, click on 'Run' in the menu, 'Debug Configurations...' on the pop up window, right click 'Remote Java Application' and click new.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8tUt6ycg40jO9563PNYbnX1TyGiuMzlqysqSMYWccGZ0Y4GTHbpYn77MLJoXvKTsCq3kneoj2ntpa5wDota5piLHyzQl6jc83nANBvrNoJxP0Q09v5aFX5ES4MTNG3lKZ1hZaqvW0ZSHa/s1600/Screenshot+from+2016-09-07+19-39-46.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8tUt6ycg40jO9563PNYbnX1TyGiuMzlqysqSMYWccGZ0Y4GTHbpYn77MLJoXvKTsCq3kneoj2ntpa5wDota5piLHyzQl6jc83nANBvrNoJxP0Q09v5aFX5ES4MTNG3lKZ1hZaqvW0ZSHa/s640/Screenshot+from+2016-09-07+19-39-46.png" width="640" /></a></div>
<br />
<br />
* check in the machine that run cassandra instance.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@workstation:~$ sudo netstat -tupan | grep 1414
tcp 0 0 10.0.0.2:1414 10.0.0.3:60122 ESTABLISHED 26718/java
</code></pre>
<br />
That's it! When you are done, remember to terminate the debug process.<br />
<br />
<br />Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-18532411335827174102017-06-16T00:00:00.000+08:002017-06-16T00:00:12.072+08:00Journey on cassandra development part1To go into <i><b>cassandra development</b></i> has always been part of my wish during spare time but due to hectic work and life, this wish never really get kick off.... Until now. I found a <a href="http://cassandra.apache.org/doc/latest/development/ide.html" target="_blank">very fine documentation</a> and just start immediately once the spare time is available. In this article, I will describe my journey on developing in cassandra.<br />
<br />
Let's clone the cassandra repository using git. Wait a while on my slow line at 436KBps with 136MB.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/$ git clone http://git-wip-us.apache.org/repos/asf/cassandra.git cassandra-trunk
Cloning into 'cassandra-trunk'...
remote: Counting objects: 273406, done.
remote: Compressing objects: 100% (45601/45601), done.
remote: Total 273406 (delta 164011), reused 269444 (delta 161446)
Receiving objects: 100% (273406/273406), 136.60 MiB | 436.00 KiB/s, done.
Resolving deltas: 100% (164011/164011), done.
Checking connectivity... done.
</code></pre>
<br />
Once repository was cloned, let's check out the directory.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/$ cd cassandra-trunk/
user@localhost:~/cassandra-trunk$ ls
total 596K
-rw-r--r-- 1 user user 3.5K Sep 6 21:28 README.asc
-rw-r--r-- 1 user user 2.8K Sep 6 21:28 NOTICE.txt
-rw-r--r-- 1 user user 99K Sep 6 21:28 NEWS.txt
-rw-r--r-- 1 user user 12K Sep 6 21:28 LICENSE.txt
-rw-r--r-- 1 user user 1.3K Sep 6 21:28 CONTRIBUTING.md
-rw-r--r-- 1 user user 320K Sep 6 21:28 CHANGES.txt
drwxr-xr-x 3 user user 4.0K Sep 6 21:28 conf
-rw-r--r-- 1 user user 91K Sep 6 21:28 build.xml
-rw-r--r-- 1 user user 516 Sep 6 21:28 build.properties.default
drwxr-xr-x 2 user user 4.0K Sep 6 21:28 bin
drwxr-xr-x 4 user user 4.0K Sep 6 21:28 doc
drwxr-xr-x 3 user user 4.0K Sep 6 21:28 debian
drwxr-xr-x 3 user user 4.0K Sep 6 21:28 interface
drwxr-xr-x 3 user user 4.0K Sep 6 21:28 ide
drwxr-xr-x 4 user user 4.0K Sep 6 21:28 examples
-rw-r--r-- 1 user user 5.8K Sep 6 21:28 eclipse_compiler.properties
drwxr-xr-x 3 user user 4.0K Sep 6 21:28 pylib
drwxr-xr-x 5 user user 4.0K Sep 6 21:28 lib
drwxr-xr-x 6 user user 4.0K Sep 6 21:28 src
drwxr-xr-x 9 user user 4.0K Sep 6 21:28 test
drwxr-xr-x 4 user user 4.0K Sep 6 21:28 tools
user@localhost:~/cassandra-trunk$ git branch
* trunk
user@localhost:~/cassandra-trunk$ git branch -a
* trunk
remotes/origin/HEAD -> origin/trunk
remotes/origin/cassandra-1.0
remotes/origin/cassandra-1.1
remotes/origin/cassandra-1.2
remotes/origin/cassandra-2.0
remotes/origin/cassandra-2.1
remotes/origin/cassandra-2.2
remotes/origin/cassandra-3.0
remotes/origin/cassandra-3.9
remotes/origin/trunk
</code></pre>
<br />
okay, looks almost the same sets of files when you downloaded the binary tarball package except this is much more. But that is expected because we are in development environment. As of this moment, we have cassandra up to version 3.9<br />
<br />
Before we go further, let's checkout the package required by cassandra.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/cassandra-trunk$ ant -version
Apache Ant(TM) version 1.9.7 compiled on May 16 2016
user@localhost:~/cassandra-trunk$ export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_45/
</code></pre>
<br />
So I'm using trunk cassandra , ant version 1.9.7 and oracle jdk version8 update 45. Eclipse I'm a bit behind, I'm still sticking with eclipse luna, I should upgrade to eclipse neon soon!<br />
<br />
Okay, our tools are all checked at this point, let's start ant build.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/cassandra-trunk$ ant
Buildfile: /home/user/cassandra-trunk/build.xml
init:
[mkdir] Created dir: /home/user/cassandra-trunk/build/classes/main
[mkdir] Created dir: /home/user/cassandra-trunk/build/classes/thrift
[mkdir] Created dir: /home/user/cassandra-trunk/build/test/lib
[mkdir] Created dir: /home/user/cassandra-trunk/build/test/classes
[mkdir] Created dir: /home/user/cassandra-trunk/build/test/stress-classes
[mkdir] Created dir: /home/user/cassandra-trunk/src/gen-java
[mkdir] Created dir: /home/user/cassandra-trunk/build/lib
[mkdir] Created dir: /home/user/cassandra-trunk/build/jacoco
[mkdir] Created dir: /home/user/cassandra-trunk/build/jacoco/partials
maven-ant-tasks-localrepo:
maven-ant-tasks-download:
[echo] Downloading Maven ANT Tasks...
[get] Getting: http://repo2.maven.org/maven2/org/apache/maven/maven-ant-tasks/2.1.3/maven-ant-tasks-2.1.3.jar
[get] To: /home/user/cassandra-trunk/build/maven-ant-tasks-2.1.3.jar
[copy] Copying 1 file to /home/user/.m2/repository/org/apache/maven/maven-ant-tasks/2.1.3
maven-ant-tasks-init:
maven-declare-dependencies:
maven-ant-tasks-retrieve-build:
[artifact:dependencies] Downloading: com/datastax/cassandra/cassandra-driver-core/3.0.1/cassandra-driver-core-3.0.1.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 15K from central
[artifact:dependencies] Downloading: com/datastax/cassandra/cassandra-driver-parent/3.0.1/cassandra-driver-parent-3.0.1.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 18K from central
[artifact:dependencies] Downloading: io/dropwizard/metrics/metrics-core/3.1.2/metrics-core-3.1.2.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 1K from central
[artifact:dependencies] Downloading: io/dropwizard/metrics/metrics-parent/3.1.2/metrics-parent-3.1.2.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 12K from central
[artifact:dependencies] Downloading: org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 3K from central
[artifact:dependencies] Downloading: org/slf4j/slf4j-parent/1.7.7/slf4j-parent-1.7.7.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 12K from central
[artifact:dependencies] Downloading: org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 2K from central
[artifact:dependencies] Downloading: org/caffinitas/ohc/ohc-core/0.4.4/ohc-core-0.4.4.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 11K from central
[artifact:dependencies] Downloading: org/caffinitas/ohc/ohc-parent/0.4.4/ohc-parent-0.4.4.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 16K from central
[artifact:dependencies] Downloading: org/caffinitas/ohc/ohc-core-j8/0.4.4/ohc-core-j8-0.4.4.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 5K from central
[artifact:dependencies] Downloading: org/openjdk/jmh/jmh-core/1.13/jmh-core-1.13.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 10K from central
[artifact:dependencies] Downloading: org/openjdk/jmh/jmh-parent/1.13/jmh-parent-1.13.pom from repository java.net at http://download.java.net/maven/2
[artifact:dependencies] Unable to locate resource in repository
[artifact:dependencies] [INFO] Unable to find resource 'org.openjdk.jmh:jmh-parent:pom:1.13' in repository java.net (http://download.java.net/maven/2)
[artifact:dependencies] Downloading: org/openjdk/jmh/jmh-parent/1.13/jmh-parent-1.13.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 6K from central
[artifact:dependencies] Downloading: net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 11K from central
[artifact:dependencies] Downloading: org/apache/commons/commons-math3/3.2/commons-math3-3.2.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 17K from central
[artifact:dependencies] Downloading: org/openjdk/jmh/jmh-generator-annprocess/1.13/jmh-generator-annprocess-1.13.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 4K from central
[artifact:dependencies] Downloading: net/ju-n/compile-command-annotations/compile-command-annotations/1.2.0/compile-command-annotations-1.2.0.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 5K from central
[artifact:dependencies] Downloading: net/ju-n/net-ju-n-parent/32/net-ju-n-parent-32.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 21K from central
[artifact:dependencies] Downloading: org/apache/ant/ant-junit/1.9.4/ant-junit-1.9.4.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 4K from central
[artifact:dependencies] Downloading: org/caffinitas/ohc/ohc-core/0.4.4/ohc-core-0.4.4.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Downloading: org/apache/ant/ant-junit/1.9.4/ant-junit-1.9.4.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Downloading: org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Downloading: io/dropwizard/metrics/metrics-core/3.1.2/metrics-core-3.1.2.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Downloading: net/ju-n/compile-command-annotations/compile-command-annotations/1.2.0/compile-command-annotations-1.2.0.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 132K from central
[artifact:dependencies] Transferring 16K from central
[artifact:dependencies] Transferring 110K from central
[artifact:dependencies] Transferring 1653K from central
[artifact:dependencies] Downloading: org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 2256K from central
[artifact:dependencies] Downloading: net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 115K from central
[artifact:dependencies] Downloading: com/datastax/cassandra/cassandra-driver-core/3.0.1/cassandra-driver-core-3.0.1-shaded.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 61K from central
[artifact:dependencies] Transferring 2388K from central
[artifact:dependencies] Downloading: org/openjdk/jmh/jmh-core/1.13/jmh-core-1.13.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 454K from central
[artifact:dependencies] Downloading: org/caffinitas/ohc/ohc-core-j8/0.4.4/ohc-core-j8-0.4.4.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 5K from central
[artifact:dependencies] Downloading: org/openjdk/jmh/jmh-generator-annprocess/1.13/jmh-generator-annprocess-1.13.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 30K from central
^Y[artifact:dependencies] Building ant file: /home/user/cassandra-trunk/build/build-dependencies.xml
[artifact:dependencies] Downloading: io/netty/netty-all/4.0.39.Final/netty-all-4.0.39.Final.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 17K from central
[artifact:dependencies] Downloading: io/netty/netty-parent/4.0.39.Final/netty-parent-4.0.39.Final.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 44K from central
[artifact:dependencies] Downloading: io/netty/netty-all/4.0.39.Final/netty-all-4.0.39.Final.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 2218K from central
[artifact:dependencies] Downloading: com/datastax/cassandra/cassandra-driver-core/3.0.1/cassandra-driver-core-3.0.1-sources.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 552K from central
[artifact:dependencies] Downloading: io/dropwizard/metrics/metrics-core/3.1.2/metrics-core-3.1.2-sources.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 52K from central
[artifact:dependencies] Downloading: org/slf4j/slf4j-api/1.7.12/slf4j-api-1.7.12-sources.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 50K from central
[artifact:dependencies] Downloading: io/netty/netty-all/4.0.39.Final/netty-all-4.0.39.Final-sources.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 1749K from central
[artifact:dependencies] Downloading: org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2-sources.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 1724K from central
[artifact:dependencies] Downloading: org/caffinitas/ohc/ohc-core/0.4.4/ohc-core-0.4.4-sources.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 83K from central
[artifact:dependencies] Downloading: org/openjdk/jmh/jmh-core/1.13/jmh-core-1.13-sources.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 357K from central
[artifact:dependencies] Downloading: net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6-sources.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 73K from central
[artifact:dependencies] Downloading: org/apache/commons/commons-math3/3.2/commons-math3-3.2-sources.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 1958K from central
[artifact:dependencies] Downloading: org/openjdk/jmh/jmh-generator-annprocess/1.13/jmh-generator-annprocess-1.13-sources.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 26K from central
[artifact:dependencies] Downloading: net/ju-n/compile-command-annotations/compile-command-annotations/1.2.0/compile-command-annotations-1.2.0-sources.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 15K from central
[artifact:dependencies] Downloading: org/apache/ant/ant-junit/1.9.4/ant-junit-1.9.4-sources.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 92K from central
[artifact:dependencies] Downloading: org/apache/ant/ant/1.9.4/ant-1.9.4-sources.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 1889K from central
[artifact:dependencies] Downloading: org/apache/ant/ant-launcher/1.9.4/ant-launcher-1.9.4-sources.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 19K from central
[artifact:dependencies] Building ant file: /home/user/cassandra-trunk/build/build-dependencies-sources.xml
[copy] Copying 62 files to /home/user/cassandra-trunk/build/lib/jars
[copy] Copying 17 files to /home/user/cassandra-trunk/build/lib/sources
[artifact:dependencies] Downloading: org/jacoco/org.jacoco.agent/0.7.5.201505241946/org.jacoco.agent-0.7.5.201505241946.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 3K from central
[artifact:dependencies] Downloading: org/jacoco/org.jacoco.build/0.7.5.201505241946/org.jacoco.build-0.7.5.201505241946.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 36K from central
[artifact:dependencies] Downloading: org/jacoco/org.jacoco.ant/0.7.5.201505241946/org.jacoco.ant-0.7.5.201505241946.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 2K from central
[artifact:dependencies] Downloading: org/jacoco/org.jacoco.core/0.7.5.201505241946/org.jacoco.core-0.7.5.201505241946.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 1K from central
[artifact:dependencies] Downloading: org/ow2/asm/asm-debug-all/5.0.1/asm-debug-all-5.0.1.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 2K from central
[artifact:dependencies] Downloading: org/ow2/asm/asm-parent/5.0.1/asm-parent-5.0.1.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 5K from central
[artifact:dependencies] Downloading: org/jacoco/org.jacoco.report/0.7.5.201505241946/org.jacoco.report-0.7.5.201505241946.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 1K from central
[artifact:dependencies] Downloading: org/jboss/byteman/byteman/3.0.3/byteman-3.0.3.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 91K from central
[artifact:dependencies] Downloading: org/jboss/byteman/byteman-root/3.0.3/byteman-root-3.0.3.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 18K from central
[artifact:dependencies] Downloading: org/jboss/byteman/byteman-submit/3.0.3/byteman-submit-3.0.3.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 2K from central
[artifact:dependencies] Downloading: org/jboss/byteman/byteman-bmunit/3.0.3/byteman-bmunit-3.0.3.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 6K from central
[artifact:dependencies] Downloading: org/jboss/byteman/byteman-install/3.0.3/byteman-install-3.0.3.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 2K from central
[artifact:dependencies] Downloading: org/jacoco/org.jacoco.agent/0.7.5.201505241946/org.jacoco.agent-0.7.5.201505241946.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Downloading: org/ow2/asm/asm-debug-all/5.0.1/asm-debug-all-5.0.1.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Downloading: org/jboss/byteman/byteman/3.0.3/byteman-3.0.3.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 251K from central
[artifact:dependencies] Transferring 743K from central
[artifact:dependencies] Transferring 371K from central
[artifact:dependencies] Downloading: org/jboss/byteman/byteman-submit/3.0.3/byteman-submit-3.0.3.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 14K from central
[artifact:dependencies] Downloading: org/jboss/byteman/byteman-bmunit/3.0.3/byteman-bmunit-3.0.3.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Downloading: org/jacoco/org.jacoco.ant/0.7.5.201505241946/org.jacoco.ant-0.7.5.201505241946.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 38K from central
[artifact:dependencies] Transferring 37K from central
[artifact:dependencies] Downloading: org/jboss/byteman/byteman-install/3.0.3/byteman-install-3.0.3.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 9K from central
[artifact:dependencies] Downloading: org/jacoco/org.jacoco.core/0.7.5.201505241946/org.jacoco.core-0.7.5.201505241946.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 130K from central
[artifact:dependencies] Downloading: org/jacoco/org.jacoco.report/0.7.5.201505241946/org.jacoco.report-0.7.5.201505241946.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Transferring 137K from central
[copy] Copying 9 files to /home/user/cassandra-trunk/build/lib/jars
[unzip] Expanding: /home/user/cassandra-trunk/build/lib/jars/org.jacoco.agent-0.7.5.201505241946.jar into /home/user/cassandra-trunk/build/lib/jars
check-gen-cql3-grammar:
gen-cql3-grammar:
[echo] Building Grammar /home/user/cassandra-trunk/src/antlr/Cql.g ...
generate-cql-html:
[artifact:dependencies] Downloading: com/datastax/wikitext/wikitext-core-ant/1.3/wikitext-core-ant-1.3.pom from repository central at https://repo1.maven.org/maven2
[artifact:dependencies] Transferring 3K from central
[artifact:dependencies] Downloading: org/fusesource/wikitext/wikitext-core/1.3/wikitext-core-1.3.pom from repository central at https://repo1.maven.org/maven2
[artifact:dependencies] Transferring 2K from central
[artifact:dependencies] Downloading: org/fusesource/wikitext/wikitext-project/1.3/wikitext-project-1.3.pom from repository central at https://repo1.maven.org/maven2
[artifact:dependencies] Transferring 4K from central
[artifact:dependencies] Downloading: org/fusesource/fusesource-pom/1.3/fusesource-pom-1.3.pom from repository central at https://repo1.maven.org/maven2
[artifact:dependencies] Transferring 13K from central
[artifact:dependencies] Downloading: org/fusesource/wikitext/textile-core/1.3/textile-core-1.3.pom from repository central at https://repo1.maven.org/maven2
[artifact:dependencies] Transferring 1K from central
[artifact:dependencies] Downloading: org/fusesource/wikitext/wikitext-core/1.3/wikitext-core-1.3.jar from repository central at https://repo1.maven.org/maven2
[artifact:dependencies] Downloading: com/datastax/wikitext/wikitext-core-ant/1.3/wikitext-core-ant-1.3.jar from repository central at https://repo1.maven.org/maven2
[artifact:dependencies] Transferring 237K from central
[artifact:dependencies] Transferring 32K from central
[artifact:dependencies] Downloading: org/fusesource/wikitext/textile-core/1.3/textile-core-1.3.jar from repository central at https://repo1.maven.org/maven2
[artifact:dependencies] Transferring 54K from central
generate-jflex-java:
[jflex] Generated: StandardTokenizerImpl.java
build-project:
[echo] apache-cassandra: /home/user/cassandra-trunk/build.xml
[javac] Compiling 45 source files to /home/user/cassandra-trunk/build/classes/thrift
[javac] Note: /home/user/cassandra-trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java uses or overrides a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] Compiling 1459 source files to /home/user/cassandra-trunk/build/classes/main
[javac] Note: Processing compiler hints annotations
[javac] Note: Processing compiler hints annotations
[javac] Note: Writing compiler command file at META-INF/hotspot_compiler
[javac] Note: Done processing compiler hints annotations
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] Creating empty /home/user/cassandra-trunk/build/classes/main/org/apache/cassandra/hints/package-info.class
createVersionPropFile:
[mkdir] Created dir: /home/user/cassandra-trunk/src/resources/org/apache/cassandra/config
[propertyfile] Creating new property file: /home/user/cassandra-trunk/src/resources/org/apache/cassandra/config/version.properties
[copy] Copying 18 files to /home/user/cassandra-trunk/build/classes/main
[copy] Copying 1 file to /home/user/cassandra-trunk/conf
build:
build-test:
[javac] Compiling 481 source files to /home/user/cassandra-trunk/build/test/classes
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[copy] Copying 22 files to /home/user/cassandra-trunk/build/test/classes
stress-build:
[mkdir] Created dir: /home/user/cassandra-trunk/build/classes/stress
[javac] Compiling 118 source files to /home/user/cassandra-trunk/build/classes/stress
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[copy] Copying 1 file to /home/user/cassandra-trunk/build/classes/stress
write-poms:
init:
maven-ant-tasks-localrepo:
maven-ant-tasks-download:
maven-ant-tasks-init:
maven-declare-dependencies:
_write-poms:
jar:
[copy] Copying 1 file to /home/user/cassandra-trunk/build/classes/main/META-INF
[copy] Copying 1 file to /home/user/cassandra-trunk/build/classes/thrift/META-INF
[copy] Copying 1 file to /home/user/cassandra-trunk/build/classes/main/META-INF
[copy] Copying 1 file to /home/user/cassandra-trunk/build/classes/thrift/META-INF
[jar] Building jar: /home/user/cassandra-trunk/build/apache-cassandra-thrift-3.10-SNAPSHOT.jar
[jar] Building jar: /home/user/cassandra-trunk/build/apache-cassandra-3.10-SNAPSHOT.jar
[mkdir] Created dir: /home/user/cassandra-trunk/build/classes/stress/META-INF
[mkdir] Created dir: /home/user/cassandra-trunk/build/tools/lib
[jar] Building jar: /home/user/cassandra-trunk/build/tools/lib/stress.jar
BUILD SUCCESSFUL
Total time: 4 minutes 45 secondsuser@localhost:~/cassandra-trunk$ ant -version
Apache Ant(TM) version 1.9.7 compiled on May 16 2016
user@localhost:~/cassandra-trunk$ export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_45/
</code></pre>
<br />
Wow, build is success! Next launch your eclipse and create cassandra eclipse development descriptors.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~/cassandra-trunk$ ant generate-eclipse-files
Buildfile: /home/user/cassandra-trunk/build.xml
init:
maven-ant-tasks-localrepo:
maven-ant-tasks-download:
maven-ant-tasks-init:
maven-declare-dependencies:
maven-ant-tasks-retrieve-build:
init-dependencies:
[echo] Loading dependency paths from file: /home/user/cassandra-trunk/build/build-dependencies.xml
init-dependencies:
[echo] Loading dependency paths from file: /home/user/cassandra-trunk/build/build-dependencies-sources.xml
[unzip] Expanding: /home/user/cassandra-trunk/build/lib/jars/org.jacoco.agent-0.7.5.201505241946.jar into /home/user/cassandra-trunk/build/lib/jars
check-gen-cql3-grammar:
gen-cql3-grammar:
generate-cql-html:
generate-jflex-java:
build-project:
[echo] apache-cassandra: /home/user/cassandra-trunk/build.xml
createVersionPropFile:
[propertyfile] Updating property file: /home/user/cassandra-trunk/src/resources/org/apache/cassandra/config/version.properties
[copy] Copying 1 file to /home/user/cassandra-trunk/build/classes/main
build:
build-test:
generate-eclipse-files:
[mkdir] Created dir: /home/user/cassandra-trunk/.settings
BUILD SUCCESSFUL
Total time: 1 second
</code></pre>
<br />
Everything is good and assuming eclipse is also started, now let's import the eclipse settings. Using this sequence,<i>'File' -> 'Import...' -> 'Existing Projects into Workspace'. </i>Click, next and in the 'Select root directory:' textbox , browse to the git repository cloned earlier and select it. Leave the remaining as is and click Finish.<br />
<br />
If you get error, fix it :D for me, the default java configured for eclipse is 7 and hence, code compile is java 7, so I have to change that and move java lib to the top of the project. Particulary you can move to java lib in 'Order and Export' in project's properties.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh00ZwJD1I-Qs28_98NpTQcmpCswXW737YupkByGaG9UMqFRlJlhZ7yMdLq3Z7dBln30fJbbU4vW4Ad7SjbQgnKutu6mZtAI3StNhTB34YAU5GfyA1xkc3uDNlcpLBTfzU2p4inN64vlsCo/s1600/Screenshot+from+2016-09-06+22-14-42.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh00ZwJD1I-Qs28_98NpTQcmpCswXW737YupkByGaG9UMqFRlJlhZ7yMdLq3Z7dBln30fJbbU4vW4Ad7SjbQgnKutu6mZtAI3StNhTB34YAU5GfyA1xkc3uDNlcpLBTfzU2p4inN64vlsCo/s640/Screenshot+from+2016-09-06+22-14-42.png" width="640" /></a></div>
<br />
<br />
There are two class file which give compile errors, which I have to commented out the code.<br />
<br />
<ul>
<li><a href="https://github.com/apache/cassandra/blob/trunk/test/unit/org/apache/cassandra/auth/StubAuthorizer.java">./test/unit/org/apache/cassandra/auth/StubAuthorizer.java</a></li>
<li><a href="https://github.com/apache/cassandra/blob/trunk/test/unit/org/apache/cassandra/db/partition/PartitionImplementationTest.java">./test/unit/org/apache/cassandra/db/partition/PartitionImplementationTest.java</a></li>
</ul>
<br />
since both classes are unit test, I don't actually bothered.<br />
<br />
Okay, we take a pause here, in the next article, I will explain testing in cassandra. Stay tune!<br />
<br />
<br />Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0tag:blogger.com,1999:blog-8213516613462351304.post-27397559503439842822017-06-04T00:00:00.000+08:002017-06-04T00:00:30.807+08:00First learning into pycuda part 2So I continue where I <a href="http://blog.weetech.co/2017/06/first-learning-into-pycuda.html" target="_blank">left off </a>and explore further on the <i><b>pycuda</b></i> library. This is a good tutorial to explain further what the code does. You can <a href="https://documen.tician.de/pycuda/tutorial.html" target="_blank">read it more here</a> .<br />
<div>
<br /></div>
<div>
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~$ optirun python3 test_cumath.py
Traceback (most recent call last):
File "test_cumath.py", line 245, in <module>
from py.test.cmdline import main
ImportError: No module named 'py'
</code></pre>
<div>
<br /></div>
<div>
module <b><i>py</i></b> is actually pytest. So install away<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~$ sudo apt-get install python3-pytest
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libgl1-nvidia-glx:i386 libgl1-nvidia-glx-i386:i386 libllvm3.5v5 libnvidia-glcore:i386 linux-image-4.1.0-2-amd64 linux-image-4.2.0-1-amd64 linux-source-4.3 python3-ecdsa syslinux
unetbootin-translations
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
python3-py
The following NEW packages will be installed:
python3-py python3-pytest
0 upgraded, 2 newly installed, 0 to remove and 508 not upgraded.
Need to get 249 kB of archives.
After this operation, 962 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://ftp.us.debian.org/debian testing/main amd64 python3-py all 1.4.31-1 [81.9 kB]
Get:2 http://ftp.us.debian.org/debian testing/main amd64 python3-pytest all 2.9.2-3 [167 kB]
Fetched 249 kB in 6s (36.0 kB/s)
Selecting previously unselected package python3-py.
(Reading database ... 285403 files and directories currently installed.)
Preparing to unpack .../python3-py_1.4.31-1_all.deb ...
Unpacking python3-py (1.4.31-1) ...
Selecting previously unselected package python3-pytest.
Preparing to unpack .../python3-pytest_2.9.2-3_all.deb ...
Unpacking python3-pytest (2.9.2-3) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up python3-py (1.4.31-1) ...
Setting up python3-pytest (2.9.2-3) ...
</code></pre>
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> user@localhost:~$ optirun python3 -mpytest test_cumath.py
==================================================================================== test session starts =====================================================================================
platform linux -- Python 3.5.2+, pytest-2.9.2, py-1.4.31, pluggy-0.3.1
rootdir: /home/user/, inifile:
collected 28 items
test_cumath.py ............................
================================================================================ 28 passed in 106.94 seconds =================================================================================
</code></pre>
<br />
First run is very slow, I have no idea why. Then I run tests again.<br />
<br />
<pre style="background: rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); height: auto; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; font-family: arial; font-size: 12px; line-height: 20px; word-wrap: normal;"> user@localhost:~$ optirun python3 -s -mpytest test_cumath.py
==================================================================================== test session starts =====================================================================================
platform linux -- Python 3.5.2+, pytest-2.9.2, py-1.4.31, pluggy-0.3.1
rootdir: /home/user/, inifile:
collected 28 items
test_cumath.py ............................
================================================================================= 28 passed in 8.43 seconds ==================================================================================
user@localhost:~/oss/asus-rt-n14uhp-mrtg/src/pycuda$ optirun python3 -s -mpytest test_cumath.py
==================================================================================== test session starts =====================================================================================
platform linux -- Python 3.5.2+, pytest-2.9.2, py-1.4.31, pluggy-0.3.1
rootdir: /home/user/, inifile:
collected 28 items
test_cumath.py ............................
================================================================================= 28 passed in 8.44 seconds ================================================================================== </code><code style="white-space: normal; word-wrap: normal;"><span style="font-family: "times new roman";">
</span></code></pre>
<br />
tests average at 8.5seconds, pretty good. Then I add some code to print the time of the cpu and gpu, looks to me the maths test, cpu perform much better.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> name="<class 'numpy.float32'>" cpu time="0.00000230599835049360990524291992187500000000000000" gpu time="0.00008139800047501921653747558593750000000000000000"
name="<class 'numpy.float64'>" cpu time="0.00000265298876911401748657226562500000000000000000" gpu time="0.00008218799484893679618835449218750000000000000000"
name="<class 'numpy.float32'>" cpu time="0.00000343500869348645210266113281250000000000000000" gpu time="0.00007703299343120306730270385742187500000000000000"
name="<class 'numpy.float64'>" cpu time="0.00000536799780093133449554443359375000000000000000" gpu time="0.00008030000026337802410125732421875000000000000000"
name="<class 'numpy.float32'>" cpu time="0.00001179199898615479469299316406250000000000000000" gpu time="0.00007762899622321128845214843750000000000000000000"
name="<class 'numpy.float64'>" cpu time="0.00002014498750213533639907836914062500000000000000" gpu time="0.00010288099292665719985961914062500000000000000000"
name="<class 'numpy.float32'>" cpu time="0.00001173198688775300979614257812500000000000000000" gpu time="0.00007860400364734232425689697265625000000000000000"
name="<class 'numpy.float64'>" cpu time="0.00001884899393189698457717895507812500000000000000" gpu time="0.00007704700692556798458099365234375000000000000000"
name="<class 'numpy.float32'>" cpu time="0.00007372199615929275751113891601562500000000000000" gpu time="0.00008238101145252585411071777343750000000000000000"
name="<class 'numpy.float64'>" cpu time="0.00014613500388804823160171508789062500000000000000" gpu time="0.00016600399976596236228942871093750000000000000000"
</code></pre>
<br />
Have fun and you can get <a href="https://github.com/jasonwee/asus-rt-n14uhp-mrtg/blob/master/src/pycuda/test_cumath.py" target="_blank">the code</a> from my repository. </div>
</div>
Jason Weehttp://www.blogger.com/profile/16154184256480517473noreply@blogger.com0