Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 1 addition & 48 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -198,51 +198,4 @@
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-------------------------------------------------------------------------------
Third-party dependencies and their licenses:

Apache License, Version 2.0
- org.awaitility:awaitility [Test Only]
- com.fasterxml.jackson.core:jackson-databind
- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml
- com.github.ben-manes.caffeine:caffeine
- com.google.guava:guava
- com.google.inject:guice
- commons-cli:commons-cli
- io.grpc:grpc-core
- io.grpc:grpc-grpclb
- io.grpc:grpc-inprocess
- io.grpc:grpc-netty
- io.grpc:grpc-protobuf
- io.grpc:grpc-stub
- io.micrometer:micrometer-core
- io.micrometer:micrometer-registry-prometheus
- io.netty:netty-all
- io.reactivex.rxjava3:rxjava
- io.swagger.core.v3:swagger-core-jakarta
- io.swagger.core.v3:swagger-jaxrs2-jakarta
- org.pf4j:pf4j
- org.reflections:reflections (Apache License 2.0 / WTFPL)
- org.rocksdb:rocksdbjni (Apache License 2.0 / GPLv2)
- org.testng:testng [Test Only]

BSD-3-Clause
- com.google.protobuf:protobuf-java
- com.google.protobuf:protobuf-java-util

EPL-2.0 / GPL-2.0-with-classpath-exception
- jakarta.ws.rs:jakarta.ws.rs-api
- org.eclipse.paho:org.eclipse.paho.client.mqttv3 [Test Only]
- org.eclipse.paho:org.eclipse.paho.mqttv5.client [Test Only]

GPL-2.0-with-classpath-exception
- org.openjdk.jmh:jmh-core [Test Only]
- org.openjdk.jmh:jmh-generator-annprocess [Test Only]

MIT License
- org.mockito:mockito-core [Test Only]
- org.pcollections:pcollections
- org.slf4j:slf4j-api

limitations under the License.
27 changes: 8 additions & 19 deletions LICENSE-Binary
Original file line number Diff line number Diff line change
Expand Up @@ -205,24 +205,23 @@ This project's binary output bundles third-party dependencies and their licenses

Apache License, Version 2.0
- aopalliance:aopalliance:1.0
- com.beust:jcommander:1.82
- com.google.android:annotations:4.1.1.4
- com.fasterxml.jackson.core:jackson-annotations:2.18.1
- com.fasterxml.jackson.core:jackson-core:2.18.1
- com.fasterxml.jackson.core:jackson-databind:2.18.1
- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.18.1
- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.1
- com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-base:2.18.1
- com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-json-provider:2.18.1
- com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.18.1
- com.github.ben-manes.caffeine:caffeine:3.2.3
- com.google.guava:failureaccess:1.0.2
- com.google.guava:guava:33.2.1-jre
- com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
- com.google.inject:guice:7.0.0
- com.google.j2objc:j2objc-annotations:2.8
- com.google.j2objc:j2objc-annotations:3.0.0
- com.google.errorprone:error_prone_annotations:2.26.1
- com.google.code.gson:gson:2.8.9
- com.google.code.findbugs:jsr305:3.0.2
- com.google.api.grpc:proto-google-common-protos:2.59.2
- commons-cli:commons-cli:1.5.0
- org.apache.commons:commons-collections4:4.4
- io.grpc:grpc-api:1.77.0
- io.grpc:grpc-context:1.77.0
- io.grpc:grpc-core:1.77.0
Expand Down Expand Up @@ -268,32 +267,24 @@ Apache License, Version 2.0
- io.netty:netty-transport-rxtx:4.1.127.Final
- io.netty:netty-transport-sctp:4.1.127.Final
- io.netty:netty-transport-udt:4.1.127.Final
- io.netty:netty-tcnative-classes:2.0.73.Final
- io.prometheus:simpleclient:0.16.0
- io.prometheus:simpleclient_common:0.16.0
- io.prometheus:simpleclient_tracer_common:0.16.0
- io.prometheus:simpleclient_tracer_otel:0.16.0
- io.prometheus:simpleclient_tracer_otel_agent:0.16.0
- io.reactivex.rxjava3:rxjava:3.1.12
- io.swagger.core.v3:swagger-annotations-jakarta:2.2.40
- io.swagger.core.v3:swagger-core-jakarta:2.2.40
- io.swagger.core.v3:swagger-integration-jakarta:2.2.40
- io.swagger.core.v3:swagger-jaxrs2-jakarta:2.2.40
- io.swagger.core.v3:swagger-models-jakarta:2.2.40
- jakarta.inject:jakarta.inject-api:2.0.1
- jakarta.validation:jakarta.validation-api:3.0.2
- net.bytebuddy:byte-buddy:1.14.15
- net.bytebuddy:byte-buddy-agent:1.14.15
- org.apache.commons:commons-lang3:3.17.0
- org.apache.logging.log4j:log4j-api:2.24.3
- org.apache.logging.log4j:log4j-core:2.24.3
- org.apache.logging.log4j:log4j-slf4j2-impl:2.24.3
- org.javassist:javassist:3.28.0-GA (Apache License 2.0 / LGPL 2.1 / MPL 1.1)
- org.jspecify:jspecify:1.0.0
- org.objenesis:objenesis:3.3
- org.pf4j:pf4j:3.13.0
- org.reflections:reflections:0.10.2 (Apache License 2.0 / WTFPL)
- org.rocksdb:rocksdbjni:9.7.3 (Apache License 2.0 / GPLv2)
- org.yaml:snakeyaml:2.3
- io.perfmark:perfmark-api:0.27.0

BSD-3-Clause (see: licenses/bsd-3-clause.txt)
- com.google.protobuf:protobuf-java:4.30.2
Expand All @@ -311,6 +302,7 @@ MIT License (see: licenses/mit.txt)
- org.checkerframework:checker-qual:3.42.0
- org.codehaus.mojo:animal-sniffer-annotations:1.24
- org.slf4j:slf4j-api:2.0.17
- com.github.zafarkhaja:java-semver:0.10.2

MIT-0 (see: licenses/mit-0.txt)
- org.reactivestreams:reactive-streams:1.0.4
Expand All @@ -322,6 +314,3 @@ Bouncy Castle Licence (see: licenses/bouncy-castle.txt)

EPL-2.0 / GPL-2.0-with-classpath-exception (see: licenses/epl-2.0.txt)
- jakarta.ws.rs:jakarta.ws.rs-api:4.0.0

Eclipse Distribution License - v 1.0 (see: licenses/edl-1.0.txt)
- jakarta.xml.bind:jakarta.xml.bind-api:3.0.1
24 changes: 1 addition & 23 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,4 @@ Apache BifroMQ (Incubating)
Copyright 2025 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

Third-party components incorporated in this project:

- RocksDB JNI (org.rocksdb:rocksdbjni)
Licensed under Apache License 2.0 / GPLv2.
See LICENSE file for full license texts.

- Reflections (org.reflections:reflections)
Licensed under Apache License 2.0 / WTFPL.
See LICENSE file for full license texts.

- Jakarta RESTful WS API (jakarta.ws.rs:jakarta.ws.rs-api)
Licensed under EPL-2.0 / GPL-2.0-with-classpath-exception.
See LICENSE file for full license texts.

- Eclipse Paho MQTT Client (org.eclipse.paho.*)
Licensed under EPL-2.0 / GPL-2.0-with-classpath-exception.
See LICENSE file for full license texts.

- OpenJDK JMH (org.openjdk.jmh.*)
Licensed under GPL-2.0-with-classpath-exception.
See LICENSE file for full license texts.
The Apache Software Foundation (http://www.apache.org/).
29 changes: 7 additions & 22 deletions NOTICE-Binary
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,15 @@ Copyright 2025 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

This project's binary output bundles third-party components:

- RocksDB JNI (org.rocksdb:rocksdbjni:9.7.3)
Licensed under Apache License 2.0 / GPLv2.
See LICENSE file for full license texts.

- Reflections (org.reflections:reflections:0.10.2)
Licensed under Apache License 2.0 / WTFPL.
See LICENSE file for full license texts.

- Javassist (org.javassist:javassist:3.28.0-GA)
Licensed under Apache License 2.0 / LGPL 2.1 / MPL 1.1.
See LICENSE file for full license texts.
This project's binary output bundles third-party components with NOTICE obligations:

- Jakarta RESTful WS API (jakarta.ws.rs:jakarta.ws.rs-api:4.0.0)
Licensed under EPL-2.0 / GPL-2.0-with-classpath-exception.
See LICENSE file for full license texts.

- Jakarta XML Binding API (jakarta.xml.bind:jakarta.xml.bind-api:3.0.1)
Licensed under Eclipse Distribution License v1.0.
See LICENSE file for full license texts.

- Bouncy Castle Libraries (org.bouncycastle:*)
Licensed under Bouncy Castle Licence.
See LICENSE file for full license texts.

- Other third-party components are included under licenses detailed in the LICENSE file.
- Apache Commons CLI (commons-cli:commons-cli:1.5.0)
- Google Guice (com.google.inject:guice:7.0.0)
- Jackson modules (com.fasterxml.jackson:jackson-annotations/core/databind/dataformat-yaml:2.18.1)
- Jakarta Inject API (jakarta.inject:jakarta.inject-api:2.0.1)
- Apache Log4j (log4j-api/log4j-core/log4j-slf4j2-impl:2.24.3)
- Micrometer (micrometer-commons/core/observation/registry-prometheus:1.11.12)
37 changes: 31 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
<!--

Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.

-->

# Apache BifroMQ (Incubating)

[![GitHub Release](https://img.shields.io/github/release/bifromqio/bifromq?color=brightgreen&label=Release)](https://github.com/bifromqio/bifromq/releases)
Expand Down Expand Up @@ -143,13 +164,17 @@ The build output consists of several archive files with `sha512` checksum locate
* Example classifiers: `linux-x86_64`, `linux-aarch_64`, `osx-aarch_64`, `osx-x86_64`, `windows-x86_64`.

#### Running the tests

Execute the following command in the project root folder to run all test cases, including unit tests and integration
tests.
Note: The tests may take some time to finish

Prepare the test environment (compile and download dependencies without running tests):
```
./mvnw clean install -DskipTests
```
Run unit tests only:
```
./mvnw test
```
Generate coverage (includes unit tests and integration tests, takes longer):
```
mvn test
./mvnw test -Pbuild-coverage
```

#### Build the Docker Image
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

org.apache.bifromq.baseenv.TestEnvProvider
org.apache.bifromq.baseenv.TestEnvProvider
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

org.apache.bifromq.basehookloader.TestHookImpl
org.apache.bifromq.basehookloader.TestHookImpl
Original file line number Diff line number Diff line change
@@ -1 +1,17 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

org.apache.bifromq.basekv.localengine.memory.InMemKVEngineProvider
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,11 @@ public void run() {
try (AutoCloseable guard = metrics.beginClose()) {
metrics.close();
log.debug("Clean up generation[{}] of kvspace[{}]", genId, id);
try {
db.cancelAllBackgroundWork(true);
} catch (Throwable e) {
log.warn("Failed to cancel background work of generation[{}] for kvspace[{}]", genId, id, e);
}
// Close checkpoint before DB resources
checkpoint.close();
try {
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1,17 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

org.apache.bifromq.basekv.localengine.rocksdb.RocksDBKVEngineProvider
Original file line number Diff line number Diff line change
@@ -1 +1,17 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

org.apache.bifromq.basekv.store.range.hinter.MutationKVLoadBasedSplitHinterFactory
Loading
Loading