Created attachment 191234 [details]
New port databases/cassandra3 shar archive
New port for Cassandra 3.11.2
Apache Cassandra is a free and open-source distributed database.
It is a Java-based, highly scalable, eventually consistent, wide
For the record, cassandra has been in the tree, 2 versions have been deleted before:
> $ grep cassandra MOVED
> databases/cassandra||2016-03-29|Has expired: 1.2.x has reached EOL, upgrade to a supported version of Cassandra
> databases/cassandra2||2017-11-12|Has expired: Broken for more than 6 months
Created attachment 191294 [details]
Updated shar archive
Updated shar archive fixes external lib issues.
cassandra2 had the rc script (in files/cassandra.in).
Could you please add one too?
Created attachment 191502 [details]
Updated shar with rc script
Please see the new shar, including rc script.
(In reply to Angelo Polo from comment #4)
Thank you Angelo,
I've tried the port, unfortunately it fails to build in poudriere:
[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: /wrkdirs/usr/ports/kdp/cassandra3/work/apache-cassandra-3.11.2-src/build/maven-ant-tasks-2.1.3.jar
[get] Error getting http://repo2.maven.org/maven2/org/apache/maven/maven-ant-tasks/2.1.3/maven-ant-tasks-2.1.3.jar to /wrkdirs/usr/ports/kdp/cassandra3/work/apache-cassandra-3.11.2-src/build/maven-ant-tasks-2.1.3.jar
/wrkdirs/usr/ports/kdp/cassandra3/work/apache-cassandra-3.11.2-src/build.xml:296: java.net.SocketException: Permission denied (connect failed)
AFAIK ports should NEVER download anything during build process. All downloads must be happening on fetch stage and be checked with distfiles.
We should either do all downloads before build, or consider using tarball with prebuild binary distribution which is available on official download page.
Taking a look into it.
Created attachment 195202 [details]
Uses a pre-assembled Maven repository. Removed duplicate copies of tools/bin scripts from staging.
Ok, thanks, I will take a look.
If anyone wants to use or test the port, for now you can manually download the Maven repository "apache-cassandra-3.11.2-repo.tar.gz" to /usr/ports/distfiles from here:
Strangely enough I could add the file to my GDrive, but when I attempt download it stucks indefinitely or fails with a 409 error.
…and of course I tried 4 times, I wrote that comment, then I tried again "for the sake of it" and it finally worked perfectly.
BTW: the rc.d uses a "cassandra" user by default, but it's not created during install.
Created attachment 196689 [details]
Created attachment 196690 [details]
GIDs diff taking ID 236
Created attachment 196691 [details]
UIDs diff taking ID 236
Thanks Lapo, updated Makefile now creates the cassandra user and group during install.
Would also be nice to change "/var/lib/cassandra" to "/var/db/cassandra" (and uncomment those lines) in $PREFIX/etc/cassandra/cassandra.yaml to have the default database directory similar to other Ports. (/var/db/mysql, /var/db/mongodb, /var/db/pgsql)
Also logs should (probably) be adapted to FreeBSD hierarchy, something like /var/log/cassandra (?)
Can bechanged in $PREFIX/etc/cassandra/logback.xml
PS: sorry about trickling comments, I'm writing as I'm interested in it as a user and noticing one thing at a time.
These are good ideas. I'll update this too.
Created attachment 196954 [details]
Default data and log directories set.
Oh, nice, changing -Dcassandra.logdir is better than logback.xml as I did locally.
Only bug I can notice right now (and I consider it marginal) is that the cqlsh client doesn't seem to find readline and does not allow line editing (e.g. pressing left arrow and right arrow prints "^[[D^[[C").
I hope this gets committed soon.
Meanwhile, 3.11.3 is out. =)
PS: the readline bug I mentioned in comment 21 was produced by an old libreadline I had still in /lib/, it works perfectly.
Created attachment 197462 [details]
Don't pack the broken ohc libs.
To use the (normally default) off-heap row cache, you can build this pending port:
Then link the following two files from $JAVASHAREDIR/classes into $JAVASHAREDIR/cassandra/lib:
When the OHC port gets committed I will update the Cassandra port to depend on it and reinstate the default row cache.
Created attachment 197936 [details]
Update to Cassandra 3.11.3.
The updated Maven repository is available here:
Thanks! I'm deploying 3.11.3 and seems to be working fine.
Committed with changes.
Thank you for your submission!
Sorry again for the delay!
A commit references this bug:
Date: Mon Jan 28 06:12:22 UTC 2019
New revision: 491455
New port: databases/cassandra3: Highly scalable distributed database
Versions 1.X and 2.X existed previously, but were removed due to build issues.
Submitted by: Angelo Polo <firstname.lastname@example.org>