This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new c9b28e4  Replace e2e cases to e2e-v2: TTL (#8028)
c9b28e4 is described below

commit c9b28e4d00b96369c26fec605b458860bc34254e
Author: wankai123 <[email protected]>
AuthorDate: Thu Oct 28 12:21:35 2021 +0800

    Replace e2e cases to e2e-v2: TTL (#8028)
---
 .github/workflows/e2e.ttl.yaml                     |  18 +++-
 .gitmodules                                        |   3 +
 CHANGES.md                                         |   1 +
 test/e2e-v2/cases/ttl/es/docker-compose.yml        |  71 ++++++++++++++
 test/e2e-v2/{script/env => cases/ttl/es/e2e.yaml}  |  31 ++++--
 .../ttl/expected/metrics-has-no-value.yml}         |  15 +--
 .../ttl/expected/metrics-has-value.yml}            |  15 +--
 test/e2e-v2/cases/ttl/influxdb/docker-compose.yml  |  66 +++++++++++++
 .../{script/env => cases/ttl/influxdb/e2e.yaml}    |  31 ++++--
 .../e2e-v2/cases/ttl/postgresql/docker-compose.yml |  70 +++++++++++++
 .../{script/env => cases/ttl/postgresql/e2e.yaml}  |  31 ++++--
 test/e2e-v2/cases/ttl/tidb/docker-compose.yml      |  72 ++++++++++++++
 .../e2e-v2/{script/env => cases/ttl/tidb/e2e.yaml} |  31 ++++--
 test/e2e-v2/cases/ttl/ttl-cases.yaml               |  29 ++++++
 .../java-test-service/e2e-mock-sender/pom.xml      |  64 ++++++++++++
 .../apache/skywalking/e2e/E2EConfiguration.java    |  31 ++++++
 .../apache/skywalking/e2e/ServiceApplication.java  |  32 ++++++
 .../e2e/controller/HealthController.java           |  36 +++++++
 .../ServiceMeshMetricSenderController.java         | 108 +++++++++++++++++++++
 .../src/main/resources/application.yml}            |  19 ++--
 .../java-test-service}/e2e-protocol/pom.xml        |   4 +-
 .../java-test-service/e2e-protocol/src/main/proto  |   1 +
 test/e2e-v2/java-test-service/pom.xml              |   2 +
 test/e2e-v2/script/env                             |   2 +-
 test/e2e/e2e-protocol/pom.xml                      |   2 +-
 test/e2e/e2e-protocol/src/main/proto               |   2 +-
 26 files changed, 705 insertions(+), 82 deletions(-)

diff --git a/.github/workflows/e2e.ttl.yaml b/.github/workflows/e2e.ttl.yaml
index 88c2e22..08ba5a8 100644
--- a/.github/workflows/e2e.ttl.yaml
+++ b/.github/workflows/e2e.ttl.yaml
@@ -39,9 +39,15 @@ jobs:
     timeout-minutes: 90
     strategy:
       matrix:
-        storage: ['es6', 'es7', 'influxdb', 'tidb', 'postgresql']
-    env:
-      SW_STORAGE: ${{ matrix.storage }}
+        config-file:
+          - ttl/tidb/e2e.yaml
+          - ttl/influxdb/e2e.yaml
+          - ttl/postgresql/e2e.yaml
+        include:
+          - es-version: 6.3.2
+            config-file: ttl/es/e2e.yaml
+          - es-version: 7.15.0
+            config-file: ttl/es/e2e.yaml
     steps:
       - uses: actions/checkout@v2
         with:
@@ -50,6 +56,8 @@ jobs:
         uses: ./.github/actions/skip
       - name: Run E2E Test
         if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
+        uses: ./.github/actions/infra-e2e-test
+        env:
+          ES_VERSION: ${{ matrix.es-version }}
         with:
-          test_class: org.apache.skywalking.e2e.ttl.StorageTTLE2E
+          config-file: ${{ matrix.config-file }}
diff --git a/.gitmodules b/.gitmodules
index 7a56fc5..45446cd 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -10,3 +10,6 @@
 [submodule "test/e2e/e2e-protocol/src/main/proto"]
        path = test/e2e/e2e-protocol/src/main/proto
        url = https://github.com/apache/skywalking-data-collect-protocol.git
+[submodule "test/e2e-v2/java-test-service/e2e-protocol/src/main/proto"]
+       path = test/e2e-v2/java-test-service/e2e-protocol/src/main/proto
+       url = [email protected]:apache/skywalking-data-collect-protocol.git
diff --git a/CHANGES.md b/CHANGES.md
index e589d53..4f4e3cd 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -26,6 +26,7 @@ Release Notes.
   - Kafka: Base, Meter, Log, Profile
   - Client-JS
   - Istio: ALS, Metrics
+  - TTL
 * Support JDK 16 and 17.
 
 #### OAP Server
diff --git a/test/e2e-v2/cases/ttl/es/docker-compose.yml 
b/test/e2e-v2/cases/ttl/es/docker-compose.yml
new file mode 100644
index 0000000..25841f5
--- /dev/null
+++ b/test/e2e-v2/cases/ttl/es/docker-compose.yml
@@ -0,0 +1,71 @@
+# 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.
+
+version: '2.1'
+
+services:
+  es:
+    image: elastic/elasticsearch:${ES_VERSION}
+    expose:
+      - 9200
+    networks:
+      - e2e
+    environment:
+      - discovery.type=single-node
+      - cluster.routing.allocation.disk.threshold_enabled=false
+    healthcheck:
+      test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/9200"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+
+  oap:
+    extends:
+      file: ../../../script/docker-compose/base-compose.yml
+      service: oap
+    environment:
+      SW_STORAGE: elasticsearch
+      SW_STORAGE_ES_BULK_ACTIONS: 1
+      SW_CORE_DATA_KEEPER_EXECUTE_PERIOD: 1
+      SW_STORAGE_ES_FLUSH_INTERVAL: 1
+      SW_CORE_METRICS_DATA_TTL: 7
+    depends_on:
+      es:
+        condition: service_healthy
+    ports:
+    - 12800
+
+  sender:
+    image: "adoptopenjdk/openjdk8:alpine-jre"
+    volumes:
+      - 
./../../../java-test-service/e2e-mock-sender/target/e2e-mock-sender-2.0.0.jar:/e2e-mock-sender-2.0.0.jar
+    command: [ "java", "-jar", "/e2e-mock-sender-2.0.0.jar" ]
+    environment:
+      OAP_HOST: oap
+      OAP_GRPC_PORT: 11800
+    networks:
+      - e2e
+    ports:
+      - 9093
+    healthcheck:
+      test: ["CMD", "sh", "-c", "nc -nz 127.0.0.1 9093"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+    depends_on:
+      oap:
+        condition: service_healthy
+networks:
+  e2e:
diff --git a/test/e2e-v2/script/env b/test/e2e-v2/cases/ttl/es/e2e.yaml
similarity index 54%
copy from test/e2e-v2/script/env
copy to test/e2e-v2/cases/ttl/es/e2e.yaml
index 893f480..828a7d3 100644
--- a/test/e2e-v2/script/env
+++ b/test/e2e-v2/cases/ttl/es/e2e.yaml
@@ -13,14 +13,25 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-SW_AGENT_JAVA_COMMIT=fbdfc42b4d825ba33205d646ddaaaad20c005cb8
-SW_AGENT_SATELLITE_COMMIT=1f3c08a5af19f8522f2a40d9339c45fa816bfe07
-SW_AGENT_NGINX_LUA_COMMIT=c3cee4841798a147d83b96a10914d4ac0e11d0aa
-SW_AGENT_NODEJS_COMMIT=e755659c7f308d3b5589619778c8360308cb14f8
-SW_AGENT_GO_COMMIT=4af380c2db6243106b0fc650b6003ce3b3eb82a0
-SW_AGENT_PYTHON_COMMIT=50388c55428d742d73d9733278f04173585de80d
-SW_AGENT_CLIENT_JS_COMMIT=af0565a67d382b683c1dbd94c379b7080db61449
-SW_AGENT_CLIENT_JS_TEST_COMMIT=4f1eb1dcdbde3ec4a38534bf01dded4ab5d2f016
-SW_KUBERNETES_COMMIT_SHA=0f3ec68e5a7e1608cec8688716b848ed15e971e5
+# This file is used to show how to write configuration files and can be used 
to test.
 
-SW_CTL_COMMIT=48338d3827bddd47f7db320a43978a29c1084e64
+setup:
+  env: compose
+  file: docker-compose.yml
+  timeout: 1200
+  init-system-environment: ../../../script/env
+  steps:
+    - name: install yq
+      command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+    - name: install swctl
+      command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+    - name: install etcdctl
+      command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh 
etcdctl
+
+verify:
+  retry:
+    count: 30
+    interval: 3s
+  cases:
+    - includes:
+        - ../ttl-cases.yaml
diff --git a/test/e2e-v2/script/env 
b/test/e2e-v2/cases/ttl/expected/metrics-has-no-value.yml
similarity index 54%
copy from test/e2e-v2/script/env
copy to test/e2e-v2/cases/ttl/expected/metrics-has-no-value.yml
index 893f480..2e80f7a 100644
--- a/test/e2e-v2/script/env
+++ b/test/e2e-v2/cases/ttl/expected/metrics-has-no-value.yml
@@ -13,14 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-SW_AGENT_JAVA_COMMIT=fbdfc42b4d825ba33205d646ddaaaad20c005cb8
-SW_AGENT_SATELLITE_COMMIT=1f3c08a5af19f8522f2a40d9339c45fa816bfe07
-SW_AGENT_NGINX_LUA_COMMIT=c3cee4841798a147d83b96a10914d4ac0e11d0aa
-SW_AGENT_NODEJS_COMMIT=e755659c7f308d3b5589619778c8360308cb14f8
-SW_AGENT_GO_COMMIT=4af380c2db6243106b0fc650b6003ce3b3eb82a0
-SW_AGENT_PYTHON_COMMIT=50388c55428d742d73d9733278f04173585de80d
-SW_AGENT_CLIENT_JS_COMMIT=af0565a67d382b683c1dbd94c379b7080db61449
-SW_AGENT_CLIENT_JS_TEST_COMMIT=4f1eb1dcdbde3ec4a38534bf01dded4ab5d2f016
-SW_KUBERNETES_COMMIT_SHA=0f3ec68e5a7e1608cec8688716b848ed15e971e5
-
-SW_CTL_COMMIT=48338d3827bddd47f7db320a43978a29c1084e64
+  {{- range . }}
+- key: {{ notEmpty .key }}
+  value: 0
+  {{- end }}
diff --git a/test/e2e-v2/script/env 
b/test/e2e-v2/cases/ttl/expected/metrics-has-value.yml
similarity index 54%
copy from test/e2e-v2/script/env
copy to test/e2e-v2/cases/ttl/expected/metrics-has-value.yml
index 893f480..5359e6d 100644
--- a/test/e2e-v2/script/env
+++ b/test/e2e-v2/cases/ttl/expected/metrics-has-value.yml
@@ -13,14 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-SW_AGENT_JAVA_COMMIT=fbdfc42b4d825ba33205d646ddaaaad20c005cb8
-SW_AGENT_SATELLITE_COMMIT=1f3c08a5af19f8522f2a40d9339c45fa816bfe07
-SW_AGENT_NGINX_LUA_COMMIT=c3cee4841798a147d83b96a10914d4ac0e11d0aa
-SW_AGENT_NODEJS_COMMIT=e755659c7f308d3b5589619778c8360308cb14f8
-SW_AGENT_GO_COMMIT=4af380c2db6243106b0fc650b6003ce3b3eb82a0
-SW_AGENT_PYTHON_COMMIT=50388c55428d742d73d9733278f04173585de80d
-SW_AGENT_CLIENT_JS_COMMIT=af0565a67d382b683c1dbd94c379b7080db61449
-SW_AGENT_CLIENT_JS_TEST_COMMIT=4f1eb1dcdbde3ec4a38534bf01dded4ab5d2f016
-SW_KUBERNETES_COMMIT_SHA=0f3ec68e5a7e1608cec8688716b848ed15e971e5
-
-SW_CTL_COMMIT=48338d3827bddd47f7db320a43978a29c1084e64
+{{- contains . }}
+- key: {{ notEmpty .key }}
+  value: {{ ge .value 1 }}
+{{- end }}
diff --git a/test/e2e-v2/cases/ttl/influxdb/docker-compose.yml 
b/test/e2e-v2/cases/ttl/influxdb/docker-compose.yml
new file mode 100644
index 0000000..4d7e906
--- /dev/null
+++ b/test/e2e-v2/cases/ttl/influxdb/docker-compose.yml
@@ -0,0 +1,66 @@
+# 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.
+
+version: '2.1'
+
+services:
+  influxdb:
+    image: influxdb:1.7.9
+    expose:
+      - 8086
+    networks:
+      - e2e
+    healthcheck:
+      test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/8086"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+
+  oap:
+    extends:
+      file: ../../../script/docker-compose/base-compose.yml
+      service: oap
+    environment:
+      SW_STORAGE: influxdb
+      SW_CORE_DATA_KEEPER_EXECUTE_PERIOD: 1
+      SW_CORE_METRICS_DATA_TTL: 7
+    depends_on:
+      influxdb:
+        condition: service_healthy
+    ports:
+    - 12800
+
+  sender:
+    image: "adoptopenjdk/openjdk8:alpine-jre"
+    volumes:
+      - 
./../../../java-test-service/e2e-mock-sender/target/e2e-mock-sender-2.0.0.jar:/e2e-mock-sender-2.0.0.jar
+    command: [ "java", "-jar", "/e2e-mock-sender-2.0.0.jar" ]
+    environment:
+      OAP_HOST: oap
+      OAP_GRPC_PORT: 11800
+    networks:
+      - e2e
+    ports:
+      - 9093
+    healthcheck:
+      test: ["CMD", "sh", "-c", "nc -nz 127.0.0.1 9093"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+    depends_on:
+      oap:
+        condition: service_healthy
+networks:
+  e2e:
diff --git a/test/e2e-v2/script/env b/test/e2e-v2/cases/ttl/influxdb/e2e.yaml
similarity index 54%
copy from test/e2e-v2/script/env
copy to test/e2e-v2/cases/ttl/influxdb/e2e.yaml
index 893f480..828a7d3 100644
--- a/test/e2e-v2/script/env
+++ b/test/e2e-v2/cases/ttl/influxdb/e2e.yaml
@@ -13,14 +13,25 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-SW_AGENT_JAVA_COMMIT=fbdfc42b4d825ba33205d646ddaaaad20c005cb8
-SW_AGENT_SATELLITE_COMMIT=1f3c08a5af19f8522f2a40d9339c45fa816bfe07
-SW_AGENT_NGINX_LUA_COMMIT=c3cee4841798a147d83b96a10914d4ac0e11d0aa
-SW_AGENT_NODEJS_COMMIT=e755659c7f308d3b5589619778c8360308cb14f8
-SW_AGENT_GO_COMMIT=4af380c2db6243106b0fc650b6003ce3b3eb82a0
-SW_AGENT_PYTHON_COMMIT=50388c55428d742d73d9733278f04173585de80d
-SW_AGENT_CLIENT_JS_COMMIT=af0565a67d382b683c1dbd94c379b7080db61449
-SW_AGENT_CLIENT_JS_TEST_COMMIT=4f1eb1dcdbde3ec4a38534bf01dded4ab5d2f016
-SW_KUBERNETES_COMMIT_SHA=0f3ec68e5a7e1608cec8688716b848ed15e971e5
+# This file is used to show how to write configuration files and can be used 
to test.
 
-SW_CTL_COMMIT=48338d3827bddd47f7db320a43978a29c1084e64
+setup:
+  env: compose
+  file: docker-compose.yml
+  timeout: 1200
+  init-system-environment: ../../../script/env
+  steps:
+    - name: install yq
+      command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+    - name: install swctl
+      command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+    - name: install etcdctl
+      command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh 
etcdctl
+
+verify:
+  retry:
+    count: 30
+    interval: 3s
+  cases:
+    - includes:
+        - ../ttl-cases.yaml
diff --git a/test/e2e-v2/cases/ttl/postgresql/docker-compose.yml 
b/test/e2e-v2/cases/ttl/postgresql/docker-compose.yml
new file mode 100644
index 0000000..3b16806
--- /dev/null
+++ b/test/e2e-v2/cases/ttl/postgresql/docker-compose.yml
@@ -0,0 +1,70 @@
+# 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.
+
+version: '2.1'
+
+services:
+  postgres:
+    image: postgres:13
+    networks:
+      - e2e
+    expose:
+      - 5432
+    environment:
+      - POSTGRES_PASSWORD=123456
+      - POSTGRES_DB=skywalking
+    healthcheck:
+      test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/5432"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+
+  oap:
+    extends:
+      file: ../../../script/docker-compose/base-compose.yml
+      service: oap
+    environment:
+      SW_STORAGE: postgresql
+      SW_CORE_DATA_KEEPER_EXECUTE_PERIOD: 1
+      SW_CORE_METRICS_DATA_TTL: 7
+      SW_JDBC_URL: "jdbc:postgresql://postgres:5432/skywalking"
+    depends_on:
+      postgres:
+        condition: service_healthy
+    ports:
+    - 12800
+
+  sender:
+    image: "adoptopenjdk/openjdk8:alpine-jre"
+    volumes:
+      - 
./../../../java-test-service/e2e-mock-sender/target/e2e-mock-sender-2.0.0.jar:/e2e-mock-sender-2.0.0.jar
+    command: [ "java", "-jar", "/e2e-mock-sender-2.0.0.jar" ]
+    environment:
+      OAP_HOST: oap
+      OAP_GRPC_PORT: 11800
+    networks:
+      - e2e
+    ports:
+      - 9093
+    healthcheck:
+      test: ["CMD", "sh", "-c", "nc -nz 127.0.0.1 9093"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+    depends_on:
+      oap:
+        condition: service_healthy
+networks:
+  e2e:
diff --git a/test/e2e-v2/script/env b/test/e2e-v2/cases/ttl/postgresql/e2e.yaml
similarity index 54%
copy from test/e2e-v2/script/env
copy to test/e2e-v2/cases/ttl/postgresql/e2e.yaml
index 893f480..828a7d3 100644
--- a/test/e2e-v2/script/env
+++ b/test/e2e-v2/cases/ttl/postgresql/e2e.yaml
@@ -13,14 +13,25 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-SW_AGENT_JAVA_COMMIT=fbdfc42b4d825ba33205d646ddaaaad20c005cb8
-SW_AGENT_SATELLITE_COMMIT=1f3c08a5af19f8522f2a40d9339c45fa816bfe07
-SW_AGENT_NGINX_LUA_COMMIT=c3cee4841798a147d83b96a10914d4ac0e11d0aa
-SW_AGENT_NODEJS_COMMIT=e755659c7f308d3b5589619778c8360308cb14f8
-SW_AGENT_GO_COMMIT=4af380c2db6243106b0fc650b6003ce3b3eb82a0
-SW_AGENT_PYTHON_COMMIT=50388c55428d742d73d9733278f04173585de80d
-SW_AGENT_CLIENT_JS_COMMIT=af0565a67d382b683c1dbd94c379b7080db61449
-SW_AGENT_CLIENT_JS_TEST_COMMIT=4f1eb1dcdbde3ec4a38534bf01dded4ab5d2f016
-SW_KUBERNETES_COMMIT_SHA=0f3ec68e5a7e1608cec8688716b848ed15e971e5
+# This file is used to show how to write configuration files and can be used 
to test.
 
-SW_CTL_COMMIT=48338d3827bddd47f7db320a43978a29c1084e64
+setup:
+  env: compose
+  file: docker-compose.yml
+  timeout: 1200
+  init-system-environment: ../../../script/env
+  steps:
+    - name: install yq
+      command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+    - name: install swctl
+      command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+    - name: install etcdctl
+      command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh 
etcdctl
+
+verify:
+  retry:
+    count: 30
+    interval: 3s
+  cases:
+    - includes:
+        - ../ttl-cases.yaml
diff --git a/test/e2e-v2/cases/ttl/tidb/docker-compose.yml 
b/test/e2e-v2/cases/ttl/tidb/docker-compose.yml
new file mode 100644
index 0000000..d9bea25
--- /dev/null
+++ b/test/e2e-v2/cases/ttl/tidb/docker-compose.yml
@@ -0,0 +1,72 @@
+# 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.
+
+version: '2.1'
+
+services:
+  tidb:
+    image: pingcap/tidb:v4.0.12
+    expose:
+      - 4000
+    volumes:
+      - ./tidbconfig/tidb.toml:/tidb.toml:ro
+    restart: on-failure
+    healthcheck:
+      test: ["CMD", "sh", "-c", "nc -zn 127.0.0.1 4000"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+    networks:
+      - e2e
+
+  oap:
+    extends:
+      file: ../../../script/docker-compose/base-compose.yml
+      service: oap
+    environment:
+      SW_STORAGE: tidb
+      SW_CORE_DATA_KEEPER_EXECUTE_PERIOD: 1
+      SW_CORE_METRICS_DATA_TTL: 7
+      SW_JDBC_URL: "jdbc:mysql://tidb:4000/test"
+      SW_DATA_SOURCE_PASSWORD: ""
+    entrypoint: ['sh', '-c', 'apk add --no-cache bash && /download-mysql.sh && 
/skywalking/docker-entrypoint.sh']
+    depends_on:
+      tidb:
+        condition: service_healthy
+    ports:
+    - 12800
+
+  sender:
+    image: "adoptopenjdk/openjdk8:alpine-jre"
+    volumes:
+      - 
./../../../java-test-service/e2e-mock-sender/target/e2e-mock-sender-2.0.0.jar:/e2e-mock-sender-2.0.0.jar
+    command: [ "java", "-jar", "/e2e-mock-sender-2.0.0.jar" ]
+    environment:
+      OAP_HOST: oap
+      OAP_GRPC_PORT: 11800
+    networks:
+      - e2e
+    ports:
+      - 9093
+    healthcheck:
+      test: ["CMD", "sh", "-c", "nc -nz 127.0.0.1 9093"]
+      interval: 5s
+      timeout: 60s
+      retries: 120
+    depends_on:
+      oap:
+        condition: service_healthy
+networks:
+  e2e:
diff --git a/test/e2e-v2/script/env b/test/e2e-v2/cases/ttl/tidb/e2e.yaml
similarity index 54%
copy from test/e2e-v2/script/env
copy to test/e2e-v2/cases/ttl/tidb/e2e.yaml
index 893f480..828a7d3 100644
--- a/test/e2e-v2/script/env
+++ b/test/e2e-v2/cases/ttl/tidb/e2e.yaml
@@ -13,14 +13,25 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-SW_AGENT_JAVA_COMMIT=fbdfc42b4d825ba33205d646ddaaaad20c005cb8
-SW_AGENT_SATELLITE_COMMIT=1f3c08a5af19f8522f2a40d9339c45fa816bfe07
-SW_AGENT_NGINX_LUA_COMMIT=c3cee4841798a147d83b96a10914d4ac0e11d0aa
-SW_AGENT_NODEJS_COMMIT=e755659c7f308d3b5589619778c8360308cb14f8
-SW_AGENT_GO_COMMIT=4af380c2db6243106b0fc650b6003ce3b3eb82a0
-SW_AGENT_PYTHON_COMMIT=50388c55428d742d73d9733278f04173585de80d
-SW_AGENT_CLIENT_JS_COMMIT=af0565a67d382b683c1dbd94c379b7080db61449
-SW_AGENT_CLIENT_JS_TEST_COMMIT=4f1eb1dcdbde3ec4a38534bf01dded4ab5d2f016
-SW_KUBERNETES_COMMIT_SHA=0f3ec68e5a7e1608cec8688716b848ed15e971e5
+# This file is used to show how to write configuration files and can be used 
to test.
 
-SW_CTL_COMMIT=48338d3827bddd47f7db320a43978a29c1084e64
+setup:
+  env: compose
+  file: docker-compose.yml
+  timeout: 1200
+  init-system-environment: ../../../script/env
+  steps:
+    - name: install yq
+      command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+    - name: install swctl
+      command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+    - name: install etcdctl
+      command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh 
etcdctl
+
+verify:
+  retry:
+    count: 30
+    interval: 3s
+  cases:
+    - includes:
+        - ../ttl-cases.yaml
diff --git a/test/e2e-v2/cases/ttl/ttl-cases.yaml 
b/test/e2e-v2/cases/ttl/ttl-cases.yaml
new file mode 100644
index 0000000..2de1b18
--- /dev/null
+++ b/test/e2e-v2/cases/ttl/ttl-cases.yaml
@@ -0,0 +1,29 @@
+# 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.
+
+# This file is used to show how to write configuration files and can be used 
to test.
+
+  cases:
+    # send metrics and ensure metrics exist, SW_CORE_METRICS_DATA_TTL=7
+    - query: |
+        curl -s -XPOST http://${sender_host}:${sender_9093}/sendMetrics4TTL/7 
> /dev/null;
+        sleep 10;
+        swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics linear 
--name=service_resp_time --service-name=e2e-test-dest-service --start="-193h" 
--end="-191h" |yq e 'to_entries' -
+      expected: expected/metrics-has-value.yml
+    # verify metrics has been deleted
+    - query: |
+        sleep 30;
+        swctl --display yaml 
--base-url=http://${oap_host}:${oap_12800}/graphql metrics linear 
--name=service_resp_time --service-id=ZTJlLXRlc3QtZGVzdC1zZXJ2aWNl.1 
--start="-193h" --end="-191h" |yq e 'to_entries' -
+      expected: expected/metrics-has-no-value.yml
diff --git a/test/e2e-v2/java-test-service/e2e-mock-sender/pom.xml 
b/test/e2e-v2/java-test-service/e2e-mock-sender/pom.xml
new file mode 100644
index 0000000..9ea4961
--- /dev/null
+++ b/test/e2e-v2/java-test-service/e2e-mock-sender/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  ~
+  -->
+
+
+<project xmlns="http://maven.apache.org/POM/4.0.0";
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <parent>
+        <artifactId>apache-skywalking-e2e</artifactId>
+        <groupId>org.apache.skywalking</groupId>
+        <version>2.0.0</version>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <packaging>jar</packaging>
+
+    <artifactId>e2e-mock-sender</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.skywalking</groupId>
+            <artifactId>e2e-protocol</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>${spring.boot.version}</version>
+                <configuration>
+                    <executable>true</executable>
+                    <addResources>true</addResources>
+                    <excludeDevtools>true</excludeDevtools>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git 
a/test/e2e-v2/java-test-service/e2e-mock-sender/src/main/java/org/apache/skywalking/e2e/E2EConfiguration.java
 
b/test/e2e-v2/java-test-service/e2e-mock-sender/src/main/java/org/apache/skywalking/e2e/E2EConfiguration.java
new file mode 100644
index 0000000..cf0bdbe
--- /dev/null
+++ 
b/test/e2e-v2/java-test-service/e2e-mock-sender/src/main/java/org/apache/skywalking/e2e/E2EConfiguration.java
@@ -0,0 +1,31 @@
+/*
+ * 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.
+ *
+ */
+
+package org.apache.skywalking.e2e;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+@Data
+@Configuration
+@ConfigurationProperties("e2e")
+public class E2EConfiguration {
+    private String oapHost;
+    private String oapGrpcPort;
+}
diff --git 
a/test/e2e-v2/java-test-service/e2e-mock-sender/src/main/java/org/apache/skywalking/e2e/ServiceApplication.java
 
b/test/e2e-v2/java-test-service/e2e-mock-sender/src/main/java/org/apache/skywalking/e2e/ServiceApplication.java
new file mode 100644
index 0000000..38c74ba
--- /dev/null
+++ 
b/test/e2e-v2/java-test-service/e2e-mock-sender/src/main/java/org/apache/skywalking/e2e/ServiceApplication.java
@@ -0,0 +1,32 @@
+/*
+ * 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.
+ *
+ */
+
+package org.apache.skywalking.e2e;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.ComponentScan;
+
+@SpringBootApplication
+@ComponentScan({"org.apache.skywalking"})
+public class ServiceApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(ServiceApplication.class, args);
+    }
+
+}
diff --git 
a/test/e2e-v2/java-test-service/e2e-mock-sender/src/main/java/org/apache/skywalking/e2e/controller/HealthController.java
 
b/test/e2e-v2/java-test-service/e2e-mock-sender/src/main/java/org/apache/skywalking/e2e/controller/HealthController.java
new file mode 100644
index 0000000..999a015
--- /dev/null
+++ 
b/test/e2e-v2/java-test-service/e2e-mock-sender/src/main/java/org/apache/skywalking/e2e/controller/HealthController.java
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ *
+ */
+
+package org.apache.skywalking.e2e.controller;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.ResponseStatus;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequiredArgsConstructor
+public class HealthController {
+    @GetMapping("/health")
+    @SuppressWarnings("EmptyMethod")
+    @ResponseStatus(code = HttpStatus.OK)
+    public void hello() {
+    }
+
+}
diff --git 
a/test/e2e-v2/java-test-service/e2e-mock-sender/src/main/java/org/apache/skywalking/e2e/controller/ServiceMeshMetricSenderController.java
 
b/test/e2e-v2/java-test-service/e2e-mock-sender/src/main/java/org/apache/skywalking/e2e/controller/ServiceMeshMetricSenderController.java
new file mode 100644
index 0000000..5477a71
--- /dev/null
+++ 
b/test/e2e-v2/java-test-service/e2e-mock-sender/src/main/java/org/apache/skywalking/e2e/controller/ServiceMeshMetricSenderController.java
@@ -0,0 +1,108 @@
+/*
+ * 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.
+ *
+ */
+
+package org.apache.skywalking.e2e.controller;
+
+import io.grpc.ManagedChannel;
+import io.grpc.internal.DnsNameResolverProvider;
+import io.grpc.netty.NettyChannelBuilder;
+import io.grpc.stub.StreamObserver;
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
+import java.util.concurrent.CountDownLatch;
+import org.apache.skywalking.apm.network.common.v3.DetectPoint;
+import org.apache.skywalking.apm.network.servicemesh.v3.MeshProbeDownstream;
+import org.apache.skywalking.apm.network.servicemesh.v3.Protocol;
+import org.apache.skywalking.apm.network.servicemesh.v3.ServiceMeshMetric;
+import 
org.apache.skywalking.apm.network.servicemesh.v3.ServiceMeshMetricServiceGrpc;
+import org.apache.skywalking.e2e.E2EConfiguration;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class ServiceMeshMetricSenderController {
+    private static final int MAX_INBOUND_MESSAGE_SIZE = 1024 * 1024 * 50;
+    private static final boolean SUCCESS = true;
+    private final ServiceMeshMetricServiceGrpc.ServiceMeshMetricServiceStub 
grpcStub;
+
+    public ServiceMeshMetricSenderController(final E2EConfiguration 
configuration) {
+        final ManagedChannel channel = NettyChannelBuilder.forAddress(
+            configuration.getOapHost(), 
Integer.parseInt(configuration.getOapGrpcPort()))
+                                                          
.nameResolverFactory(new DnsNameResolverProvider())
+                                                          
.maxInboundMessageSize(MAX_INBOUND_MESSAGE_SIZE)
+                                                          .usePlaintext()
+                                                          .build();
+
+        grpcStub = ServiceMeshMetricServiceGrpc.newStub(channel);
+    }
+
+    @PostMapping("/sendMetrics4TTL/{metricsTTL}")
+    public String sendMetrics4TTL(@PathVariable("metricsTTL") int metricsTTL) 
throws Exception {
+        final ServiceMeshMetric.Builder builder =
+            ServiceMeshMetric.newBuilder()
+                             .setSourceServiceName("e2e-test-source-service")
+                             
.setSourceServiceInstance("e2e-test-source-service-instance")
+                             .setDestServiceName("e2e-test-dest-service")
+                             
.setDestServiceInstance("e2e-test-dest-service-instance")
+                             .setEndpoint("e2e/test")
+                             .setLatency(2000)
+                             .setResponseCode(200)
+                             .setStatus(SUCCESS)
+                             .setProtocol(Protocol.HTTP)
+                             .setDetectPoint(DetectPoint.server);
+
+        final LocalDateTime now = LocalDateTime.now(ZoneOffset.UTC);
+        final LocalDateTime startTime = now.minusDays(metricsTTL + 1);
+        final LocalDateTime endTime = startTime.plusMinutes(1);
+
+        sendMetrics(builder
+                        .setStartTime(startTime.toEpochSecond(ZoneOffset.UTC) 
* 1000)
+                        .setEndTime(endTime.toEpochSecond(ZoneOffset.UTC) * 
1000).build());
+
+        return "Metrics send success!";
+    }
+
+    void sendMetrics(final ServiceMeshMetric metrics) throws 
InterruptedException {
+        final CountDownLatch latch = new CountDownLatch(1);
+
+        StreamObserver<ServiceMeshMetric> collect = grpcStub.collect(new 
StreamObserver<MeshProbeDownstream>() {
+            @Override
+            public void onNext(final MeshProbeDownstream meshProbeDownstream) {
+
+            }
+
+            @Override
+            public void onError(final Throwable throwable) {
+                throwable.printStackTrace();
+                latch.countDown();
+            }
+
+            @Override
+            public void onCompleted() {
+                latch.countDown();
+            }
+        });
+
+        collect.onNext(metrics);
+
+        collect.onCompleted();
+
+        latch.await();
+    }
+}
diff --git a/test/e2e-v2/script/env 
b/test/e2e-v2/java-test-service/e2e-mock-sender/src/main/resources/application.yml
similarity index 54%
copy from test/e2e-v2/script/env
copy to 
test/e2e-v2/java-test-service/e2e-mock-sender/src/main/resources/application.yml
index 893f480..cfe28fa 100644
--- a/test/e2e-v2/script/env
+++ 
b/test/e2e-v2/java-test-service/e2e-mock-sender/src/main/resources/application.yml
@@ -13,14 +13,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-SW_AGENT_JAVA_COMMIT=fbdfc42b4d825ba33205d646ddaaaad20c005cb8
-SW_AGENT_SATELLITE_COMMIT=1f3c08a5af19f8522f2a40d9339c45fa816bfe07
-SW_AGENT_NGINX_LUA_COMMIT=c3cee4841798a147d83b96a10914d4ac0e11d0aa
-SW_AGENT_NODEJS_COMMIT=e755659c7f308d3b5589619778c8360308cb14f8
-SW_AGENT_GO_COMMIT=4af380c2db6243106b0fc650b6003ce3b3eb82a0
-SW_AGENT_PYTHON_COMMIT=50388c55428d742d73d9733278f04173585de80d
-SW_AGENT_CLIENT_JS_COMMIT=af0565a67d382b683c1dbd94c379b7080db61449
-SW_AGENT_CLIENT_JS_TEST_COMMIT=4f1eb1dcdbde3ec4a38534bf01dded4ab5d2f016
-SW_KUBERNETES_COMMIT_SHA=0f3ec68e5a7e1608cec8688716b848ed15e971e5
+server:
+  port: 9093
 
-SW_CTL_COMMIT=48338d3827bddd47f7db320a43978a29c1084e64
+spring:
+  main:
+    banner-mode: 'off'
+
+e2e:
+  oap-host: ${OAP_HOST:127.0.0.1}
+  oap-grpc-port: ${OAP_GRPC-PORT:11800}
diff --git a/test/e2e/e2e-protocol/pom.xml 
b/test/e2e-v2/java-test-service/e2e-protocol/pom.xml
similarity index 98%
copy from test/e2e/e2e-protocol/pom.xml
copy to test/e2e-v2/java-test-service/e2e-protocol/pom.xml
index fec6948..e5512ec 100644
--- a/test/e2e/e2e-protocol/pom.xml
+++ b/test/e2e-v2/java-test-service/e2e-protocol/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>apache-skywalking-e2e</artifactId>
         <groupId>org.apache.skywalking</groupId>
-        <version>1.0.0</version>
+        <version>2.0.0</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -95,4 +95,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/test/e2e-v2/java-test-service/e2e-protocol/src/main/proto 
b/test/e2e-v2/java-test-service/e2e-protocol/src/main/proto
new file mode 160000
index 0000000..21492e4
--- /dev/null
+++ b/test/e2e-v2/java-test-service/e2e-protocol/src/main/proto
@@ -0,0 +1 @@
+Subproject commit 21492e496b797567d0e127f4510509baf73e10fd
diff --git a/test/e2e-v2/java-test-service/pom.xml 
b/test/e2e-v2/java-test-service/pom.xml
index a2f3659..c87e67d 100644
--- a/test/e2e-v2/java-test-service/pom.xml
+++ b/test/e2e-v2/java-test-service/pom.xml
@@ -30,6 +30,8 @@
     <modules>
         <module>e2e-service-provider</module>
         <module>e2e-service-consumer</module>
+        <module>e2e-mock-sender</module>
+        <module>e2e-protocol</module>
     </modules>
 
     <properties>
diff --git a/test/e2e-v2/script/env b/test/e2e-v2/script/env
index 893f480..b08c955 100644
--- a/test/e2e-v2/script/env
+++ b/test/e2e-v2/script/env
@@ -23,4 +23,4 @@ 
SW_AGENT_CLIENT_JS_COMMIT=af0565a67d382b683c1dbd94c379b7080db61449
 SW_AGENT_CLIENT_JS_TEST_COMMIT=4f1eb1dcdbde3ec4a38534bf01dded4ab5d2f016
 SW_KUBERNETES_COMMIT_SHA=0f3ec68e5a7e1608cec8688716b848ed15e971e5
 
-SW_CTL_COMMIT=48338d3827bddd47f7db320a43978a29c1084e64
+SW_CTL_COMMIT=45a5f9807126dc6ea9fe06e17e7aafbe212436d2
diff --git a/test/e2e/e2e-protocol/pom.xml b/test/e2e/e2e-protocol/pom.xml
index fec6948..b969fe9 100644
--- a/test/e2e/e2e-protocol/pom.xml
+++ b/test/e2e/e2e-protocol/pom.xml
@@ -95,4 +95,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/test/e2e/e2e-protocol/src/main/proto 
b/test/e2e/e2e-protocol/src/main/proto
index e626ee0..21492e4 160000
--- a/test/e2e/e2e-protocol/src/main/proto
+++ b/test/e2e/e2e-protocol/src/main/proto
@@ -1 +1 @@
-Subproject commit e626ee04850703c220f64b642d2893fa65572943
+Subproject commit 21492e496b797567d0e127f4510509baf73e10fd

Reply via email to