I have inserted some mock data into my k3s weaviate cluster using this:
import weaviate
import weaviate.classes.config as wc
NLB_DNS_NAME = os.getenv(“AWS_NLB”)
client = weaviate.connect_to_custom(
http_host=NLB_DNS_NAME,
http_port=8080,  
http_secure=False,
grpc_host=NLB_DNS_NAME,
grpc_port=50051,  
grpc_secure=False
)
try:
 if client.is_ready():
    print("Successfully connected to Weaviate.")
else:
    print("Failed to connect to Weaviate.")
    client.close()
    exit(1)
client.collections.create(
    name="Exchange",
    properties=\[
        wc.Property(name="name", data_type=wc.DataType.TEXT),
        wc.Property(name="location", data_type=wc.DataType.TEXT),
        wc.Property(name="founded_year", data_type=wc.DataType.NUMBER),
    \],
    sharding_config=wc.Configure.sharding(desired_count=3),
    replication_config=wc.Configure.replication(factor=2),
    \# Optional: Add a vectorizer if needed; here using none for simplicity
    vectorizer_config=wc.Configure.Vectorizer.none()
)
exchange_collection = client.collections.get("Exchange")
\# Mock data for stock exchanges
mock_data = \[
    {"name": "New York Stock Exchange", "location": "New York, USA", "founded_year": 1792},
    {"name": "NASDAQ", "location": "New York, USA", "founded_year": 1971},
    {"name": "London Stock Exchange", "location": "London, UK", "founded_year": 1801},
    {"name": "Tokyo Stock Exchange", "location": "Tokyo, Japan", "founded_year": 1878}
\]
with exchange_collection.batch.dynamic() as batch:
    for data in mock_data:
        batch.add_object(
            properties=data
        )
Now the second code:
result = exchange_collection.query.fetch_objects(limit=10)
print(f"Total objects in collection: {len(result.objects)}")
for obj in result.objects:
    print(f"- {obj.properties\['name'\]} ({obj.properties\['location'\]}) - Founded: {obj.properties\['founded_year'\]}")
finally:
client.close()
With this code im getting the following as output:
Total objects found: 4
- 
London Stock Exchange (UUID: 60d6c2fe-07ef-4928-8aba-…..)
 - 
New York Stock Exchange (UUID: 6d439d55-1651-4544-…..)
 - 
Tokyo Stock Exchange (UUID: b3e30b81-eda5-4e90-ab53-…..)
 - 
NASDAQ (UUID: bcacee6a-f83d-4dac-b6d7-…..)
but with this code im not able to see the object inside shards:
3rd code:NLB = os.getenv(“AWS_NLB”)
COLLECTION = “Exchange” # collection you want to inspect
client = weaviate.connect_to_custom(
http_host=NLB, http_port=8080, http_secure=False, grpc_host=NLB, grpc_port=50051, grpc_secure=False,)
def print_distribution(collection: str = COLLECTION) → None:
""" Fetch verbose cluster info once and print object distribution. """ nodes = client.cluster.nodes(output="verbose") # one round-trip print(f"\\nLive object distribution for collection '{collection}':\\n") for node in nodes: print(f"Pod: {node.name} Status: {node.status}") shards_for_col = \[s for s in node.shards if s.collection == collection\] if not shards_for_col: print(" • No shards for this collection on this pod\\n") continue for shard in shards_for_col: print(f" • Shard {shard.name} objects={shard.object_count}") print()Pod: weaviate-0 Status: HEALTHY
• Shard hokJEudIj… objects=0
• Shard YVmYEwFNC… objects=0Pod: weaviate-1 Status: HEALTHY
• Shard cQMk2AvqW… objects=0
• Shard hokJEudIj… objects=0Pod: weaviate-2 Status: HEALTHY
• Shard YVmYEwFNC… objects=0
• Shard cQMk2AvqW… objects=0 
Is there any bug in weaviate ?