It seems to be an issue of having multiple replicas (in my case 10): Before the logs tell that the shards of a class are put to READONLY the following error message below pops up. I could imagine that the item that should be updated is simply not found (nil pointer dereference), because the batch has been written on multiple pods.
I will try to recreate the database with 1 replica. Nevertheless, horizontal scaling does not work then.
{"error":"runtime error: invalid memory address or nil pointer dereference","level":"error","method":"GET","msg":"runtime error: invalid memory address or nil pointer dereference","path":{"Scheme":"","Opaque":"","User":null,"Host":"","Path":"/v1/objects/TpacsItem_ada02/cc626292-e9d4-0b77-d3db-2142383892b9","RawPath":"","OmitHost":false,"ForceQuery":false,"RawQuery":"include=vector","Fragment":"","RawFragment":""},"time":"2023-07-14T12:18:06Z"}
{"action":"requests_total","api":"rest","class_name":"","error":"runtime error: invalid memory address or nil pointer dereference","level":"error","msg":"unexpected error","query_type":"","time":"2023-07-14T12:18:06Z"}
goroutine 6089 [running]:
runtime/debug.Stack()
/usr/local/go/src/runtime/debug/stack.go:24 +0x65
runtime/debug.PrintStack()
/usr/local/go/src/runtime/debug/stack.go:16 +0x19
github.com/weaviate/weaviate/adapters/handlers/rest.handlePanics({0x1c1f7c0, 0xc002f3ef00}, {0x1c0bad8, 0xc00440e0a0}, 0xc003a99400)
/go/src/github.com/weaviate/weaviate/adapters/handlers/rest/panics_middleware.go:80 +0x2c5
panic({0x15f30a0, 0x2689e10})
/usr/local/go/src/runtime/panic.go:884 +0x213
github.com/weaviate/weaviate/adapters/handlers/rest.(*objectHandlers).getObject(0xc0039e6000, {0xc003a99600, {0xc002bc6610, 0xf}, 0x0, {0xc005d72930, 0x24}, 0xc003fd9670, 0x0, 0x0}, ...)
/go/src/github.com/weaviate/weaviate/adapters/handlers/rest/handlers_objects.go:152 +0xde
github.com/weaviate/weaviate/adapters/handlers/rest/operations/objects.ObjectsClassGetHandlerFunc.Handle(0xc003ba7a20?, {0xc003a99600, {0xc002bc6610, 0xf}, 0x0, {0xc005d72930, 0x24}, 0xc003fd9670, 0x0, 0x0}, ...)
/go/src/github.com/weaviate/weaviate/adapters/handlers/rest/operations/objects/objects_class_get.go:32 +0x63
github.com/weaviate/weaviate/adapters/handlers/rest/operations/objects.(*ObjectsClassGet).ServeHTTP(0xc0039a0de0, {0x1c09c30, 0xc0039e4540}, 0xc003a99600)
/go/src/github.com/weaviate/weaviate/adapters/handlers/rest/operations/objects/objects_class_get.go:81 +0x2da
github.com/go-openapi/runtime/middleware.NewOperationExecutor.func1({0x1c09c30, 0xc0039e4540}, 0xc003a99600)
/go/pkg/mod/github.com/go-openapi/runtime@v0.24.2/middleware/operation.go:28 +0x59
net/http.HandlerFunc.ServeHTTP(0xc003a99600?, {0x1c09c30?, 0xc0039e4540?}, 0x40fea7?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
github.com/weaviate/weaviate/usecases/auth/authentication/anonymous.(*Client).Middleware.func1({0x1c09c30, 0xc0039e4540}, 0x1c02e60?)
/go/src/github.com/weaviate/weaviate/usecases/auth/authentication/anonymous/middleware.go:48 +0x68
net/http.HandlerFunc.ServeHTTP(0xc0028cc000?, {0x1c09c30?, 0xc0039e4540?}, 0xc003a99500?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
github.com/weaviate/weaviate/adapters/handlers/rest.makeSetupMiddlewares.func1.1({0x1c09c30, 0xc0039e4540}, 0xc003a99600)
/go/src/github.com/weaviate/weaviate/adapters/handlers/rest/middlewares.go:42 +0xec
net/http.HandlerFunc.ServeHTTP(0x417ed0?, {0x1c09c30?, 0xc0039e4540?}, 0xc00268cfd0?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
github.com/go-openapi/runtime/middleware.NewRouter.func1({0x1c09c30, 0xc0039e4540}, 0xc003a99400)
/go/pkg/mod/github.com/go-openapi/runtime@v0.24.2/middleware/router.go:78 +0x257
net/http.HandlerFunc.ServeHTTP(0x7f151c2e9108?, {0x1c09c30?, 0xc0039e4540?}, 0xc003fd95a0?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
github.com/go-openapi/runtime/middleware.Redoc.func1({0x1c09c30, 0xc0039e4540}, 0x110?)
/go/pkg/mod/github.com/go-openapi/runtime@v0.24.2/middleware/redoc.go:72 +0x242
net/http.HandlerFunc.ServeHTTP(0x0?, {0x1c09c30?, 0xc0039e4540?}, 0x0?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
github.com/go-openapi/runtime/middleware.Spec.func1({0x1c09c30, 0xc0039e4540}, 0xc00268d401?)
/go/pkg/mod/github.com/go-openapi/runtime@v0.24.2/middleware/spec.go:46 +0x18c
net/http.HandlerFunc.ServeHTTP(0xc0039c0960?, {0x1c09c30?, 0xc0039e4540?}, 0xc003a99400?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
github.com/rs/cors.(*Cors).Handler.func1({0x1c09c30, 0xc0039e4540}, 0xc003a99400)
/go/pkg/mod/github.com/rs/cors@v1.5.0/cors.go:200 +0x1b8
net/http.HandlerFunc.ServeHTTP(0x0?, {0x1c09c30?, 0xc0039e4540?}, 0xc0028cc000?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
github.com/weaviate/weaviate/adapters/handlers/rest/swagger_middleware.AddMiddleware.func1({0x1c09c30, 0xc0039e4540}, 0xc003a99400)
/go/src/github.com/weaviate/weaviate/adapters/handlers/rest/swagger_middleware/swagger_middleware.go:37 +0x222
net/http.HandlerFunc.ServeHTTP(0xc000485960?, {0x1c09c30?, 0xc0039e4540?}, 0x3?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
github.com/weaviate/weaviate/adapters/handlers/rest.makeAddLogging.func1.1({0x1c09c30, 0xc0039e4540}, 0xc003a99400)
/go/src/github.com/weaviate/weaviate/adapters/handlers/rest/middlewares.go:118 +0x285
net/http.HandlerFunc.ServeHTTP(0x41?, {0x1c09c30?, 0xc0039e4540?}, 0x40?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
github.com/weaviate/weaviate/adapters/handlers/rest.addPreflight.func1({0x1c09c30?, 0xc0039e4540?}, 0x80?)
/go/src/github.com/weaviate/weaviate/adapters/handlers/rest/middlewares.go:153 +0x263
net/http.HandlerFunc.ServeHTTP(0xc0028cc000?, {0x1c09c30?, 0xc0039e4540?}, 0xc00268d878?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
github.com/weaviate/weaviate/adapters/handlers/rest.addLiveAndReadyness.func1({0x1c09c30, 0xc0039e4540}, 0xc003a99400)
/go/src/github.com/weaviate/weaviate/adapters/handlers/rest/middlewares.go:192 +0x119
net/http.HandlerFunc.ServeHTTP(0xc0028cc000?, {0x1c09c30?, 0xc0039e4540?}, 0x40?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
github.com/weaviate/weaviate/adapters/handlers/rest.addHandleRoot.func1({0x1c09c30, 0xc0039e4540}, 0xc003a99400)
/go/src/github.com/weaviate/weaviate/adapters/handlers/rest/middlewares.go:57 +0x1dd
net/http.HandlerFunc.ServeHTTP(0xc0028cc000?, {0x1c09c30?, 0xc0039e4540?}, 0x0?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
github.com/weaviate/weaviate/adapters/handlers/rest.makeAddModuleHandlers.func1.1({0x1c09c30, 0xc0039e4540}, 0xc003a99400)
/go/src/github.com/weaviate/weaviate/adapters/handlers/rest/middlewares.go:78 +0x9c
net/http.HandlerFunc.ServeHTTP(0xc00268d9a0?, {0x1c09c30?, 0xc0039e4540?}, 0x26b1fc0?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
github.com/weaviate/weaviate/adapters/handlers/rest.addInjectHeadersIntoContext.func1({0x1c09c30, 0xc0039e4540}, 0xc003a99400)
/go/src/github.com/weaviate/weaviate/adapters/handlers/rest/middlewares.go:171 +0x212
net/http.HandlerFunc.ServeHTTP(0x4e2e33?, {0x1c09c30?, 0xc0039e4540?}, 0xe?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
github.com/weaviate/weaviate/adapters/handlers/rest.makeCatchPanics.func1.1({0x1c09c30?, 0xc0039e4540?}, 0x166b380?)
/go/src/github.com/weaviate/weaviate/adapters/handlers/rest/panics_middleware.go:29 +0xa3
net/http.HandlerFunc.ServeHTTP(0xc002bc6645?, {0x1c09c30?, 0xc0039e4540?}, 0x46d1ce?)
/usr/local/go/src/net/http/server.go:2122 +0x2f
net/http.serverHandler.ServeHTTP({0xc00287d9b0?}, {0x1c09c30, 0xc0039e4540}, 0xc003a99400)
/usr/local/go/src/net/http/server.go:2936 +0x316
net/http.(*conn).serve(0xc00049e6c0, {0x1c0b288, 0xc0032bf950})
/usr/local/go/src/net/http/server.go:1995 +0x612
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:3089 +0x5ed