Deprecating Java-based drivers from syslog-ng: Is HDFS next?

While most Java-based drivers have been deprecated in syslog-ng years ago, we have recently removed all of them in preparation to syslog-ng 4.9.0. Right now, the only Java-based driver remaining is HDFS, so we want to ask the syslog-ng community if the HDFS destination is still needed for them.

A bit of background

The Java destination was originally added to syslog-ng to be able to send log messages to Elasticsearch. Later, HTTP, HDFS and Kafka drivers were also added. Unfortunately, these Java-based drivers were difficult (or impossible) to submit to Linux distributions. In addition, they were also difficult to maintain, used more resources, and were problematic to configure. Over the years, most of the Java-based drivers were replaced by native C drivers, so the Java-based drivers became deprecated.

Many of the dependencies used by the Java-based drivers are no longer maintained and contain CVE problems. This is why we decided that deprecation is not enough: we must remove these drivers from the syslog-ng source code.

There is only one exception: HDFS. It is still there, as there is no C-based driver for HDFS yet in syslog-ng, and it is CVE free. Still, we would love to remove all Java-based drivers – however, before we would spend any more resources to develop a C-based alternative for it, we would like to ask you if there is an actual need for it. If nobody actually needs an HDFS driver, then simply deprecating HDFS support and deleting it a few releases later would be the easiest solution for us.

Status

Java-based drivers were never included in mainstream Linux distributions for two reasons. Firstly, because their dependencies were not available in those distributions, and secondly, because the use of binary JAR files was not supported. Despite this, I maintained RPM packages with Java-based drivers for many years, but eventually removed these drivers from my packages half a decade ago. Nobody complained about this – all I know is that people still use the Java destination for their own drivers.

Building Java-based drivers is still an option in FreeBSD ports, but even there, only HDFS will be available starting from syslog-ng 4.9.0.

I updated packaging to follow up with the driver removal, as I had to remove Java-related configuration files from file lists.

Question to the community

So, do you still use the Java-based HDFS driver of syslog-ng? If you still need it, please let us know on the mailing list or open an issue / discussion on the syslog-ng GitHub page: https://github.com/syslog-ng/syslog-ng/

-

If you have questions or comments related to syslog-ng, do not hesitate to contact us. You can reach us by email or even chat with us. For a list of possibilities, check our GitHub page under the “Community” section at https://github.com/syslog-ng/syslog-ng. On Twitter, I am available as @PCzanik, on Mastodon as @Pczanik@fosstodon.org.

Related Content