I support the idea of removing `log4j-flume-ng` from `main` and figuring
out a resolution later. I think it is too early to decide on how to further
proceed with `log4j-flume-ng`; moving to a separate repository, merging it
back to `main`, etc. The important thing is, we can always add it back to
`main`.

On a similar matter, I am inclined to move `log4j-flume-ng` (in `2.x`) to a
separate repository. It accounts for 10% of the build time. It is a very
stable product with a happy user base. There is no need to keep its release
cadence chained to `2.x`.

On Thu, Aug 29, 2024 at 2:12 PM Piotr P. Karwasz <piotr.karw...@gmail.com>
wrote:

> Hi all,
>
> The `log4j-flume-ng` module _de facto_ contains 3 different appenders:
>
> * an Avro appender, that only depends on Avro and Avro IPC. Since it
> only communicates with Flume via network, it doesn't need to even
> depend on Flume, it just needs to use the same protocol.
> * a Persistent appender, which works the same way as Avro appender,
> but stores the messages to a local database first. It has an
> additional dependency on `je` (a mostly unmaintained implementation of
> BerkeleyDB).
> * an Embedded appender, which is the only one that actually depends on
> Flume.
>
> It also contains an undocumented (and untested) `Log4jEventSource`
> plugin for Flume.
>
> The use of optional dependencies is not very JPMS friendly and we
> probably would need to split it into 3 modules. To prevent delays in
> releasing 3.0.0 I would propose to:
>
> * either move the `log4j-flume-ng` module to a separate repo and
> release version `3.0.0` together with the next Flume release.
> * or move it from the `main` branch to a different branch that will be
> merged, when the module is ready.
>
> What do you think?
>
> Piotr
>

Reply via email to