Skip to content

Commit 5be35ba

Browse files
authored
[Breaking Change] Remove H2 as storage option permanently. (#12909)
Remove H2 as storage option permanently. BanyanDB 0.8(OAP 10.2 required) is easy, stable and production-ready. Don't need H2 as default storage anymore.
1 parent d3d3ee8 commit 5be35ba

File tree

83 files changed

+810
-1491
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+810
-1491
lines changed

.github/workflows/skywalking.yaml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -362,8 +362,6 @@ jobs:
362362
config: test/e2e-v2/cases/storage/banyandb/e2e.yaml
363363
- name: BanyanDB TLS
364364
config: test/e2e-v2/cases/storage/banyandb/tls/e2e.yaml
365-
- name: Storage H2
366-
config: test/e2e-v2/cases/storage/h2/e2e.yaml
367365
- name: Storage MySQL
368366
config: test/e2e-v2/cases/storage/mysql/e2e.yaml
369367
- name: Storage PostgreSQL
@@ -395,8 +393,6 @@ jobs:
395393
- name: Storage ES Sharding
396394
config: test/e2e-v2/cases/storage/es/es-sharding/e2e.yaml
397395

398-
- name: Alarm H2
399-
config: test/e2e-v2/cases/alarm/h2/e2e.yaml
400396
- name: Alarm ES
401397
config: test/e2e-v2/cases/alarm/es/e2e.yaml
402398
- name: Alarm ES Sharding
@@ -417,15 +413,11 @@ jobs:
417413

418414
- name: Event BanyanDB
419415
config: test/e2e-v2/cases/event/banyandb/e2e.yaml
420-
- name: Event H2
421-
config: test/e2e-v2/cases/event/h2/e2e.yaml
422416
- name: Event ES
423417
config: test/e2e-v2/cases/event/es/e2e.yaml
424418
- name: Event MySQL
425419
config: test/e2e-v2/cases/event/mysql/e2e.yaml
426420

427-
- name: Log H2
428-
config: test/e2e-v2/cases/log/h2/e2e.yaml
429421
- name: Log MySQL
430422
config: test/e2e-v2/cases/log/mysql/e2e.yaml
431423
- name: Log PostgreSQL
@@ -454,8 +446,6 @@ jobs:
454446

455447
- name: Trace Profiling BanyanDB
456448
config: test/e2e-v2/cases/profiling/trace/banyandb/e2e.yaml
457-
- name: Trace Profiling H2
458-
config: test/e2e-v2/cases/profiling/trace/h2/e2e.yaml
459449
- name: Trace Profiling ES
460450
config: test/e2e-v2/cases/profiling/trace/es/e2e.yaml
461451
- name: Trace Profiling ES Sharding
@@ -621,8 +611,6 @@ jobs:
621611
config: test/e2e-v2/cases/zipkin/mysql/e2e.yaml
622612
- name: Zipkin Opensearch
623613
config: test/e2e-v2/cases/zipkin/opensearch/e2e.yaml
624-
- name: Zipkin H2
625-
config: test/e2e-v2/cases/zipkin/h2/e2e.yaml
626614
- name: Zipkin Postgres
627615
config: test/e2e-v2/cases/zipkin/postgres/e2e.yaml
628616
- name: Zipkin Kafka
@@ -677,8 +665,6 @@ jobs:
677665

678666
- name: UI Menu BanyanDB
679667
config: test/e2e-v2/cases/menu/banyandb/e2e.yaml
680-
- name: UI Menu H2
681-
config: test/e2e-v2/cases/menu/h2/e2e.yaml
682668
- name: UI Menu ES
683669
config: test/e2e-v2/cases/menu/es/e2e.yaml
684670
- name: UI Menu Sharding ES
@@ -709,8 +695,6 @@ jobs:
709695
config: test/e2e-v2/cases/profiling/async-profiler/banyandb/e2e.yaml
710696
- name: Async Profiler MySQL
711697
config: test/e2e-v2/cases/profiling/async-profiler/mysql/e2e.yaml
712-
- name: Async Profiler h2
713-
config: test/e2e-v2/cases/profiling/async-profiler/h2/e2e.yaml
714698
steps:
715699
- uses: actions/checkout@v3
716700
with:

.licenserc.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,6 @@ dependency:
125125
- name: com.github.luben:zstd-jni
126126
version: 1.4.3-1
127127
license: BSD-2-Clause
128-
- name: com.h2database:h2
129-
version: 2.1.212
130-
license: MPL-2.0
131128
- name: org.antlr:antlr4-runtime
132129
version: 4.11.1
133130
license: BSD-3-Clause

dist-material/release-docs/LICENSE

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -575,14 +575,6 @@ The text of each license is also included in licenses/LICENSE-[project].txt.
575575

576576
https://mvnrepository.com/artifact/org.javassist/javassist/3.25.0-GA MPL-1.1 and LGPL-2.1
577577

578-
========================================================================
579-
MPL-2.0 licenses
580-
========================================================================
581-
The following components are provided under the MPL-2.0 License. See project link for details.
582-
The text of each license is also included in licenses/LICENSE-[project].txt.
583-
584-
https://mvnrepository.com/artifact/com.h2database/h2/2.1.212 MPL-2.0
585-
586578
========================================================================
587579
Public Domain licenses
588580
========================================================================

docs/en/changes/changes.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
publish the source tar and binary tar to the website download page, and docker images to docker hub.
1212
* **Warning** If you are using the `skywalking-oap-server` as a dependency in your project, you need to download the
1313
source tar from the website and publish them to your private maven repository.
14+
* [Breaking Change] Remove H2 as storage option permanently. BanyanDB 0.8(OAP 10.2 required) is easy, stable and
15+
production-ready. Don't need H2 as default storage anymore.
1416

1517
#### OAP Server
1618

@@ -46,6 +48,7 @@
4648
* Add component ID(160) for Caffeine.
4749
* Alarm: Support store and query the metrics snapshot when the alarm is triggered.
4850
* Alarm: Remove unused `Alarm Trend` query.
51+
* Fix missing remote endpoint IP address in span query of zipkin query module.
4952

5053
#### UI
5154

docs/en/debugging/config_dump.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ in the dump result. For example, the `storage.elasticsearch.password` in the fol
4343

4444
```yaml
4545
storage:
46-
selector: ${SW_STORAGE:h2}
46+
selector: ${SW_STORAGE:elasticsearch}
4747
elasticsearch:
4848
password: ${SW_ES_PASSWORD:""}
4949
```

docs/en/setup/backend/backend-setup.md

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,29 @@ SkyWalking's backend distribution package consists of the following parts:
1414

1515
## Requirements and default settings
1616

17-
Requirement: **Java 11/17/21**.
17+
Requirement: **Java 11/17/21**.
1818

19-
Before you begin, you should understand that the main purpose of the following quickstart is to help you obtain a basic configuration for previews/demos. Performance and long-term running are **NOT** among the purposes of the quickstart.
19+
You should set up the database ready before starting the backend. We recommend to use BanyanDB.
20+
If you want to use other databases, please read the [storage document](backend-storage.md).
2021

21-
**For production/QA/tests environments, see [Backend and UI deployment documents](ui-setup.md).**
22+
Use the docker mode to run BanyanDB containerized.
23+
```shell
24+
docker pull apache/skywalking-banyandb:latest
2225

23-
You can use `bin/startup.sh` (or cmd) to start up the backend and UI with their default settings, set out as follows:
26+
docker run -d \
27+
-p 17912:17912 \
28+
-p 17913:17913 \
29+
--name banyandb \
30+
apache/skywalking-banyandb:latest \
31+
standalone
32+
```
33+
34+
You can use `bin/startup.sh` (or cmd) to start up the OAP server and UI with their default settings,
35+
OAP listens on `0.0.0.0/11800` for gRPC APIs and `0.0.0.0/12800` for HTTP APIs.
2436

25-
- Backend storage uses **H2 by default** (for an easier start)
26-
- Backend listens on `0.0.0.0/11800` for gRPC APIs and `0.0.0.0/12800` for HTTP REST APIs.
37+
In Java, DotNetCore, Node.js, and Istio agents/probes, you should set the gRPC service address to `ip/host:11800`, and IP/host should be where your OAP is.
2738

28-
In Java, DotNetCore, Node.js, and Istio agents/probes, you should set the gRPC service address to `ip/host:11800`, and IP/host should be where your backend is.
29-
- UI listens on `8080` port and request `127.0.0.1/12800` to run a GraphQL query.
39+
UI listens on `8080` port and request `127.0.0.1/12800` to run a GraphQL query.
3040

3141
### Interaction
3242

@@ -114,12 +124,7 @@ Example:
114124

115125
```yaml
116126
storage:
117-
selector: mysql # the mysql storage will actually be activated, while the h2 storage takes no effect
118-
h2:
119-
properties:
120-
jdbcUrl: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=FALSE}
121-
dataSource.user: ${SW_STORAGE_H2_USER:sa}
122-
metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}
127+
selector: banyandb # the banyandb storage will actually be activated.
123128
mysql:
124129
properties:
125130
jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest?allowMultiQueries=true"}
@@ -130,7 +135,11 @@ storage:
130135
dataSource.prepStmtCacheSqlLimit: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT:2048}
131136
dataSource.useServerPrepStmts: ${SW_DATA_SOURCE_USE_SERVER_PREP_STMTS:true}
132137
metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000}
133-
# other configurations
138+
banyandb:
139+
targets: ${SW_STORAGE_BANYANDB_TARGETS:127.0.0.1:17912}
140+
maxBulkSize: ${SW_STORAGE_BANYANDB_MAX_BULK_SIZE:10000}
141+
flushInterval: ${SW_STORAGE_BANYANDB_FLUSH_INTERVAL:15}
142+
flushTimeout: ${SW_STORAGE_BANYANDB_FLUSH_TIMEOUT:10}
134143
```
135144
136145
1. **`storage`** is the module.

docs/en/setup/backend/backend-storage.md

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,19 @@ use one of them by specifying it as the `selector` in `application.yml`:
44

55
```yaml
66
storage:
7-
selector: ${SW_STORAGE:elasticsearch}
7+
selector: ${SW_STORAGE:banyandb}
88
```
99
1010
Natively supported storage:
1111
1212
## BanyanDB - Native APM Database
1313
- [BanyanDB](storages/banyandb.md)
1414
15-
This is recommended to use for medium scale deployments from 0.6 until 1.0.
16-
It has demonstrated significant potential in performance improvement. As of version 0.6.1, it achieves 5x less memory usage,
15+
It has demonstrated significant potential in performance improvement. It indicates 5x less memory usage,
1716
1/5 disk IOPS, 1/4 disk throughput, and 30% less disk space, albeit with a slightly higher CPU trade-off, compared to Elasticsearch.
18-
We are looking for early adoption. Please contact us through Slack channels if you are interested in using BanyanDB.
17+
It is designed and implemented natively for SkyWalking use cases.
1918
2019
## SQL database
21-
- [H2](storages/h2.md)
22-
23-
H2 is the default storage option in the distribution package. It is recommended to use H2 for testing and development ONLY.
24-
2520
- [MySQL and its compatible databases](storages/mysql.md)
2621
- [PostgreSQL and its compatible databases](storages/postgresql.md)
2722

0 commit comments

Comments
 (0)