The GitHub Actions job "CI" on 
rocketmq-dashboard.git/fix/message-key-query-window has failed.
Run started by GitHub user unbridled-41 (triggered by unbridled-41).

Head commit for run:
380492542c49724622c25777a7356af772f1da49 / unbridled-41 
<[email protected]>
fix(message): give a key lookup its own default window instead of the topic 
scan's hour

GET /api/messages/page computes one default window before it branches on the
query mode:

    long end = endTime != null ? endTime : System.currentTimeMillis();
    long begin = startTime != null ? startTime : end - ONE_HOUR_MILLIS;
    if (StringUtils.hasText(topic) && StringUtils.hasText(key)) {
        return queryByKey(adminExt, topic, key, tag, begin, end);
    }

so a business-key lookup only ever searches the last hour, while the documented
contract scopes that default to the topic scan ("未指定 msgId 或 key 的 Topic 扫描
默认查询最近 1 小时", docs/api-spec.md:1500) - a key query reads the broker's key
index rather than scanning a topic, and the sibling unique-key lookup in the 
same
class defaults to three days (UNIQUE_KEY_DEFAULT_WINDOW_MILLIS, matching
RocketMQ's own MQAdminImpl.queryMessageByUniqKey).

The console cannot widen it: key mode sends {topic, key} and no window, and the
RangePicker is only rendered for queryMode === 'topic'
(web/src/pages/instance/message.tsx), so any message keyed more than an hour ago
is unreachable - the page reports "no results" for a message that exists, and 
the
query history records resultCount=0.

Give the key branch the three-day key-index default, keep the topic scan's
documented hour, and state the key default in the API spec.

Tests (server/): mvn -o -B -ntp test -Dtest='RocketMQMessageProviderTest'
- new 
queryMessagesByKeyWithoutAWindowSearchesTheKeyDefaultNotTheTopicScanDefaultTest
  fails before this change (expected 259200000 ms window, observed 3600000) and
  passes after it; 62 tests in the class pass.
- mvn -o -B -ntp checkstyle:check passes.

Report URL: 
https://github.com/apache/rocketmq-dashboard/actions/runs/37960093846

With regards,
GitHub Actions via GitBox

Reply via email to