diff --git a/.github/actions/e2e-test/action.yml b/.github/actions/e2e-test/action.yml
index 45aaa5c9fe..8c3faabc25 100644
--- a/.github/actions/e2e-test/action.yml
+++ b/.github/actions/e2e-test/action.yml
@@ -46,6 +46,9 @@ runs:
- name: Run E2E Test
shell: bash
run: |
- echo "::group::Run E2E Test ${{ inputs.test_class }}"
- ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=${{ inputs.test_class }}
+ echo "::group::Build E2E Test Modules"
+ ./mvnw -q -B -f test/e2e/pom.xml clean install
+ echo "::endgroup::"
+ echo "::group::Run E2E Test ${{ inputs.test_class }}"
+ ./mvnw -q --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false test -Dtest=${{ inputs.test_class }}
echo "::endgroup::"
diff --git a/.github/workflows/ci-it.yaml b/.github/workflows/ci-it.yaml
index 0dbb4ed701..35c0f01803 100644
--- a/.github/workflows/ci-it.yaml
+++ b/.github/workflows/ci-it.yaml
@@ -82,6 +82,7 @@ jobs:
if: env.SKIP_CI != 'true' && matrix.os != 'ubuntu'
run: ./mvnw -q --batch-mode -P"backend,ui,dist" clean verify install
- uses: actions/upload-artifact@v2
+ if: env.SKIP_CI != 'true' && matrix.os == 'ubuntu' && matrix.java-version == '8'
name: Upload Agent
with:
name: dist
diff --git a/.github/workflows/e2e.istio.yaml b/.github/workflows/e2e.istio.yaml
index e86494989b..9ea4c0ed11 100644
--- a/.github/workflows/e2e.istio.yaml
+++ b/.github/workflows/e2e.istio.yaml
@@ -144,7 +144,8 @@ jobs:
export WEBAPP_HOST=127.0.0.1
export WEBAPP_PORT=8080
- ./mvnw -q --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.mesh.ALSE2E
+ ./mvnw -q -B -f test/e2e/pom.xml clean install
+ ./mvnw -q --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false test -Dtest=org.apache.skywalking.e2e.mesh.ALSE2E
- name: Logs
if: ${{ failure() }}
@@ -271,7 +272,8 @@ jobs:
export WEBAPP_HOST=127.0.0.1
export WEBAPP_PORT=8080
- ./mvnw -q --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.mesh.MetricsServiceE2E
+ ./mvnw -q -B -f test/e2e/pom.xml clean install
+ ./mvnw -q --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false test -Dtest=org.apache.skywalking.e2e.mesh.MetricsServiceE2E
- name: Logs
if: ${{ failure() }}
diff --git a/.github/workflows/e2e.profiling.yaml b/.github/workflows/e2e.profiling.yaml
index bc7daf68dd..f96ed62dbe 100644
--- a/.github/workflows/e2e.profiling.yaml
+++ b/.github/workflows/e2e.profiling.yaml
@@ -39,9 +39,17 @@ jobs:
timeout-minutes: 90
strategy:
matrix:
- storage: ['h2', 'mysql', 'es6', 'es7', 'influxdb']
+ storage: ['h2', 'mysql', 'es', 'influxdb']
+ include:
+ - { storage: es, es-version: 6.3.2 }
+ - { storage: es, es-version: 7.0.0 }
+ - { storage: es, es-version: 7.8.0 }
+ - { storage: es, es-version: 7.10.1 }
+ - { storage: es, es-version: 7.14.0 }
+ - { storage: es, es-version: 7.15.0 }
env:
SW_STORAGE: ${{ matrix.storage }}
+ ES_VERSION: ${{ matrix.es-version }}
steps:
- uses: actions/checkout@v2
with:
diff --git a/.github/workflows/e2e.storages.yaml b/.github/workflows/e2e.storages.yaml
index ea4ba9c7e2..3ff68f6148 100644
--- a/.github/workflows/e2e.storages.yaml
+++ b/.github/workflows/e2e.storages.yaml
@@ -36,9 +36,17 @@ jobs:
timeout-minutes: 90
strategy:
matrix:
- storage: ['mysql', 'es6', 'es7.0', 'es7.10', 'es7.14', 'opensearch', 'influxdb', 'tidb', 'postgresql']
+ storage: ['mysql', 'influxdb', 'tidb', 'postgresql'] #opensearch
+ include:
+ - { storage: es, es-version: 6.3.2 }
+ - { storage: es, es-version: 7.0.0 }
+ - { storage: es, es-version: 7.8.0 }
+ - { storage: es, es-version: 7.10.1 }
+ - { storage: es, es-version: 7.14.0 }
+ - { storage: es, es-version: 7.15.0 }
env:
SW_STORAGE: ${{ matrix.storage }}
+ ES_VERSION: ${{ matrix.es-version }}
steps:
- uses: actions/checkout@v2
with:
diff --git a/CHANGES.md b/CHANGES.md
index b84b43b59d..76d2df0e26 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -6,7 +6,8 @@ Release Notes.
------------------
#### OAP Server
-
+* Fix wrong (de)serializer of ElasticSearch client for OpenSearch storage.
+* Fix that traces query with tags will report error.
#### UI
diff --git a/apm-dist/src/main/assembly/binary.xml b/apm-dist/src/main/assembly/binary.xml
index a66a6c9ee3..65de5ad079 100644
--- a/apm-dist/src/main/assembly/binary.xml
+++ b/apm-dist/src/main/assembly/binary.xml
@@ -77,6 +77,11 @@
oap-libs
+
+ ${project.basedir}/../oap-server/server-tools/profile-exporter/tool-profile-snapshot-exporter/target/skywalking-tools-exporter-assembly/skywalking-tools-exporter/libs
+ oap-libs
+
+
${project.basedir}/../tools/profile-exporter
diff --git a/oap-server/server-library/library-elasticsearch-client/src/main/java/org/apache/skywalking/library/elasticsearch/ElasticSearchVersion.java b/oap-server/server-library/library-elasticsearch-client/src/main/java/org/apache/skywalking/library/elasticsearch/ElasticSearchVersion.java
index 80af3dc4cc..5e78d340dd 100644
--- a/oap-server/server-library/library-elasticsearch-client/src/main/java/org/apache/skywalking/library/elasticsearch/ElasticSearchVersion.java
+++ b/oap-server/server-library/library-elasticsearch-client/src/main/java/org/apache/skywalking/library/elasticsearch/ElasticSearchVersion.java
@@ -43,7 +43,7 @@ public final class ElasticSearchVersion {
if (distribution.equalsIgnoreCase("OpenSearch")) {
requestFactory = new V78RequestFactory(this);
- codec = V7Codec.INSTANCE;
+ codec = V78Codec.INSTANCE;
return;
}
diff --git a/oap-server/server-library/library-elasticsearch-client/src/test/java/org/apache/skywalking/library/elasticsearch/ITElasticSearchTest.java b/oap-server/server-library/library-elasticsearch-client/src/test/java/org/apache/skywalking/library/elasticsearch/ITElasticSearchTest.java
index 82ab79c438..d92112fd55 100644
--- a/oap-server/server-library/library-elasticsearch-client/src/test/java/org/apache/skywalking/library/elasticsearch/ITElasticSearchTest.java
+++ b/oap-server/server-library/library-elasticsearch-client/src/test/java/org/apache/skywalking/library/elasticsearch/ITElasticSearchTest.java
@@ -52,23 +52,54 @@ import static org.junit.Assert.assertTrue;
public class ITElasticSearchTest {
@Parameterized.Parameters(name = "version: {0}")
- public static Collection