redpanda-data / redpanda-data/console

feature: Filter from messages in descending order

Open
#315 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

backend feature
Dominant language
TypeScript
Stars
4.3k
Forks
432
Avg merge
3d 6h
Merged PRs (30d)
40

Description

When using the message filtering feature, there's a way to filter messages from the start offset and find the oldest matches within the count specified. However, the reverse starting from the latest offset doesn't seem possible?

This seems to be the current supported behavior...

for (offset=START_OFFSET, offset<=LATEST_OFFSET, offset++):
    if filter(messages[offset]):
        results.push_to_top(messages[offset])
        returned_count++
        if returned_count >= MAX_RESULTS:
            break;

Whereas we’re looking for

for (offset=LATEST_OFFSET, offset>=START_OFFSET, offset--):
    if filter(messages[offset]):
        results.push_to_bottom(messages[offset])
        returned_count++
        if returned_count >= MAX_RESULTS:
            break;

Yes, it’s technically possible to zero in on the desired set in the example by changing the custom start offset but it’s a really noisy feedback loop

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are identified in the issue. Start by locating the message filtering and offset traversal entry points, then trace how the current start-offset search collects matches; done means filtering can begin at the latest offset, return matches in descending order, and stop at the requested count.

Written by the indexing model from the issue text.

Assessment

Tech stack
kafka, typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.