S3 Tables: fix gRPC stream loop handling in namespace handlers

- Correctly handle io.EOF in handleListNamespaces and handleDeleteNamespace.
- Propagate other errors to prevent silent failures or accidental data loss.
- Added necessary io import.
This commit is contained in:
Chris Lu
2026-01-28 12:13:29 -08:00
parent b7c1eba0a1
commit d8c7c16aad

View File

@@ -4,6 +4,7 @@ import (
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"strings"
"time"
@@ -236,7 +237,10 @@ func (h *S3TablesHandler) handleListNamespaces(w http.ResponseWriter, r *http.Re
for {
entry, respErr := resp.Recv()
if respErr != nil {
break
if respErr == io.EOF {
break
}
return respErr
}
if entry.Entry == nil {
continue
@@ -352,7 +356,10 @@ func (h *S3TablesHandler) handleDeleteNamespace(w http.ResponseWriter, r *http.R
for {
entry, err := resp.Recv()
if err != nil {
break
if err == io.EOF {
break
}
return err
}
if entry.Entry != nil && !strings.HasPrefix(entry.Entry.Name, ".") {
hasChildren = true