diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md index 477673fe03..ab0f94b6a7 100644 --- a/docs/en/changes/changes.md +++ b/docs/en/changes/changes.md @@ -18,6 +18,7 @@ * Support Service Hierarchy auto matching. * Add `namespace` suffix for `K8S_SERVICE_NAME_RULE/ISTIO_SERVICE_NAME_RULE` and `metadata-service-mapping.yaml` as default. * Allow using a dedicated port for ALS receiver. +* Fix log query by traceId in `JDBCLogQueryDAO`. #### UI diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/dao/JDBCLogQueryDAO.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/dao/JDBCLogQueryDAO.java index 7c96b59f1e..1a04a46166 100644 --- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/dao/JDBCLogQueryDAO.java +++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/dao/JDBCLogQueryDAO.java @@ -101,12 +101,17 @@ public class JDBCLogQueryDAO implements ILogQueryDAO { tags.stream().map(Tag::getKey).filter(not(searchableTagKeys::contains)).collect(toSet())); return new Logs(); } + List tables; + if (nonNull(duration)) { + tables = tableHelper.getTablesForRead( + LogRecord.INDEX_NAME, + duration.getStartTimeBucket(), + duration.getEndTimeBucket() + ); + } else { + tables = tableHelper.getTablesWithinTTL(LogRecord.INDEX_NAME); + } - final var tables = tableHelper.getTablesForRead( - LogRecord.INDEX_NAME, - duration.getStartTimeBucket(), - duration.getEndTimeBucket() - ); final var logs = new ArrayList(); for (final var table : tables) {