Fix T+1 table is delete when deleting history tables, in jdbc storage (#10600)

This commit is contained in:
kezhenxu94 2023-03-28 16:23:02 +08:00 committed by GitHub
parent ec25814354
commit 6fa89c7991
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 23 additions and 13 deletions

View File

@ -41,7 +41,7 @@ jobs:
with:
submodules: true
- name: Check license header
uses: apache/skywalking-eyes@775fe1ffda59b7e100aa144d0ef8d7beae17f97d
uses: apache/skywalking-eyes@5b7ee1731d036b5aac68f8bd3fc9e6f98ada082e
code-style:
if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
@ -78,7 +78,7 @@ jobs:
go-version: "1.16"
- name: Check Dependencies Licenses
run: |
go install github.com/apache/skywalking-eyes/cmd/license-eye@775fe1ffda59b7e100aa144d0ef8d7beae17f97d
go install github.com/apache/skywalking-eyes/cmd/license-eye@5b7ee1731d036b5aac68f8bd3fc9e6f98ada082e
license-eye dependency resolve --summary ./dist-material/release-docs/LICENSE.tpl || exit 1
if [ ! -z "$(git diff -U0 ./dist-material/release-docs/LICENSE)" ]; then
echo "LICENSE file is not updated correctly"
@ -697,7 +697,7 @@ jobs:
run: |
echo "${{ matrix.test.env }}" >> $GITHUB_ENV
- name: ${{ matrix.test.name }}
uses: apache/skywalking-infra-e2e@964ede199fe199e166920169dc5f8c9b214cfac5
uses: apache/skywalking-infra-e2e@2b3aa53dbba73909730b211d5b8065abc74b56ad
with:
e2e-file: $GITHUB_WORKSPACE/${{ matrix.test.config }}
- uses: actions/upload-artifact@v2
@ -755,7 +755,7 @@ jobs:
- name: Load docker images
run: find docker-images -name "*.tar" -exec docker load -i {} \;
- name: ${{ matrix.test.name }}
uses: apache/skywalking-infra-e2e@964ede199fe199e166920169dc5f8c9b214cfac5
uses: apache/skywalking-infra-e2e@2b3aa53dbba73909730b211d5b8065abc74b56ad
env:
ISTIO_VERSION: ${{ matrix.versions.istio }}
KUBERNETES_VERSION: ${{ matrix.versions.kubernetes }}
@ -800,7 +800,7 @@ jobs:
shell: bash
run: ./mvnw -B -q -f test/e2e-v2/java-test-service/pom.xml clean package
- name: Java version ${{ matrix.java-version }}
uses: apache/skywalking-infra-e2e@964ede199fe199e166920169dc5f8c9b214cfac5
uses: apache/skywalking-infra-e2e@2b3aa53dbba73909730b211d5b8065abc74b56ad
env:
SW_AGENT_JDK_VERSION: ${{ matrix.java-version }}
with:

View File

@ -11,7 +11,7 @@ SkyWalking leverages K8s kube-state-metrics (KSM) and cAdvisor for collecting me
1. Setup [kube-state-metric](https://github.com/kubernetes/kube-state-metrics#kubernetes-deployment).
2. cAdvisor is integrated into `kubelet` by default.
3. Set up [OpenTelemetry Collector ](https://opentelemetry.io/docs/collector/getting-started/#kubernetes). For details on Prometheus Receiver in OpenTelemetry Collector for K8s, refer to [here](https://github.com/prometheus/prometheus/blob/main/documentation/examples/prometheus-kubernetes.yml).
For a quick start, we have provided a complete example of configuration and recommended version; you can refer to [showcase](https://github.com/apache/skywalking-showcase/tree/main/deploy/platform/kubernetes/feature-kubernetes-monitor).
For a quick start, we have provided a complete example of configuration and recommended version; you can refer to [showcase](https://github.com/apache/skywalking-showcase/tree/main/deploy/platform/kubernetes/templates/feature-kubernetes-monitor).
4. Config SkyWalking [OpenTelemetry receiver](opentelemetry-receiver.md).
## Kubernetes Cluster Monitoring

View File

@ -96,7 +96,7 @@ Set this up following these steps:
regex: (.+)
replacement: $$1
```
For the full example for OpenTelemetry Collector configuration and recommended version, you can refer to [showcase](https://github.com/apache/skywalking-showcase/tree/main/deploy/platform/kubernetes/feature-so11y).
For the full example for OpenTelemetry Collector configuration and recommended version, you can refer to [showcase](https://github.com/apache/skywalking-showcase/tree/main/deploy/platform/kubernetes/templates/feature-so11y).

View File

@ -107,8 +107,21 @@ public class TableHelper {
}
public List<String> getTablesForRead(String modelName, long timeBucketStart, long timeBucketEnd) {
final var model = TableMetaInfo.get(modelName);
final var rawTableName = getTableName(model);
if (!model.isTimeSeries()) {
return Collections.singletonList(rawTableName);
}
final var ttlTimeBucketRange = getTTLTimeBucketRange(model);
final var ttlTables =
LongStream.rangeClosed(ttlTimeBucketRange.lowerEndpoint(), ttlTimeBucketRange.upperEndpoint())
.mapToObj(it -> getTable(rawTableName, it))
.collect(toList());
return getTablesInTimeBucketRange(modelName, timeBucketStart, timeBucketEnd)
.stream()
.filter(ttlTables::contains)
.filter(table -> {
try {
return tableExistence.get(table);
@ -124,22 +137,19 @@ public class TableHelper {
*/
public List<String> getTablesInTimeBucketRange(String modelName, long timeBucketStart, long timeBucketEnd) {
final var model = TableMetaInfo.get(modelName);
final var tableName = getTableName(model);
final var rawTableName = getTableName(model);
if (!model.isTimeSeries()) {
return Collections.singletonList(tableName);
return Collections.singletonList(rawTableName);
}
timeBucketStart = TimeBucket.getTimeBucket(TimeBucket.getTimestamp(timeBucketStart), DownSampling.Day);
timeBucketEnd = TimeBucket.getTimeBucket(TimeBucket.getTimestamp(timeBucketEnd), DownSampling.Day);
final var ttlTimeBucketRange = getTTLTimeBucketRange(model);
return LongStream
.rangeClosed(timeBucketStart, timeBucketEnd)
.distinct()
.filter(ttlTimeBucketRange::contains)
.mapToObj(it -> tableName + "_" + it)
.mapToObj(timeBucket -> getTable(rawTableName, timeBucket))
.collect(toList());
}