Uploaded image for project: 'Hybrid Cloud Console'
  1. Hybrid Cloud Console
  2. RHCLOUD-40977

Relations-api LookupSubjects passes unsupported limit to spicedb in request

XMLWordPrintable

    • Product / Portfolio Work
    • 2
    • False
    • Hide

      None

      Show
      None
    • False
    • None
    • Unset
    • None

      When relations-api calls spicedb, it turns out that we always specify a limit for the number of subjects we pull back from spicedb (see code), but this limit is not currently supported in spicedb (see ref):
      // optional_concrete_limit is currently unimplemented for LookupSubjects
      // and will return an error as of SpiceDB version 1.40.1. This will
      // be implemented in a future version of SpiceDB.
      uint32 optional_concrete_limit = 7 [
      (validate.rules) = {
      uint32:

      { gte: 0 }

      },
      (buf.validate.field).uint32.gte = 0
      ];
       
      Therefore LookupSubjects will never work (with spicedb). We need to stop sending this limit, at least as a default, until the feature is added in spicedb.

       

      Error:

       gRPC error: <_MultiThreadedRendezvous of RPC that terminated with:
              status = StatusCode.UNIMPLEMENTED
              details = "error received while streaming subjects from Zanzibar backend: error receiving subject from SpiceDB: rpc error: code = Unimplemented desc = concrete limit is not yet supported"
              debug_error_string = "UNKNOWN:Error received from peer  {created_time:"2025-07-02T11:39:37.077453307+00:00", grpc_status:12, grpc_message:"error received while streaming subjects from Zanzibar backend: error receiving subject from SpiceDB: rpc error: code = Unimplemented desc = concrete limit is not yet supported"}"

              mmclaugh@redhat.com Mark McLaughlin
              mmclaugh@redhat.com Mark McLaughlin
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: