Skip to content

Unable to list items for recently created table #7

Description

@socalledjoe

Hi,

I have encountered a bug that is preventing me from viewing items in a newly populated table in AWS. Steps to re-create:

  • Create a new DynamoDB table in AWS (not sure if this would apply to local implementations of Dynamo)
  • Add an item to the new table

When you try to open this table in ddv you will get "Table {} has no items", and are unable to view the entries in the table due to the following validation:

ddv/src/view/table_list.rs

Lines 353 to 358 in 682fe18

if desc.item_count > 0 {
self.tx.send(AppEvent::LoadTableItems(desc.clone()));
} else {
let msg = format!("Table {} has no items", desc.table_name);
self.tx.send(AppEvent::NotifyWarning(AppError::msg(msg)));
}

My understanding is that this happens because the "Item Count" reported by the DynamoDB is only approximate - I am seeing 0 items reported by aws dynamodb describe-table --table-name <MY_TABLE> as well. However I am able to browse the three items in the table in the AWS Console. It has been 40 minutes since I populated the table and the AWS API still reports 0 items. As such I don't think it is appropriate to use the item count as a validation for accessing the table.

Really loving the tool by the way, it's exactly what I've been after for DynamoDB!

Activity

  1. lusingander commented on Sep 16, 2025

    @lusingander
    Owner

    You're right, I remember having that problem, but I don't remember why I implemented it like that (maybe it was just a pain to handle the missing items case)...

    It might be better to allow the selection of a table in all cases, and then display a warning message if the item does not actually exist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions