What does NTSTATUS 0xC000022F (STATUS_ALLOCATE_BUCKET) mean?

 
Previous Next
STATUS_FOUND_OUT_OF_SCOPE STATUS_PROPSET_NOT_FOUND

STATUS_ALLOCATE_BUCKET

The documented recovery action is structural growth followed by transaction retry

STATUS_ALLOCATE_BUCKET has unusually explicit message semantics: Microsoft says the bucket array must be grown and the transaction retried after that growth. It is therefore an internal control/status result that asks a caller to change a data structure before retrying. It should not be reported as “disk full,” a storage bucket service error, or a generic memory shortage solely from the word allocate.

Microsoft publishes the corresponding Win32 system message as ERROR_ALLOCATE_BUCKET with the same recovery wording. The public documentation does not define the bucket-array structure or expose the exact OFS/internal producer. That boundary matters: inventing a hash-bucket count, filesystem format field, or registry structure would be speculation. The useful public contract is only that capacity growth is required and retry belongs after that growth.

When debugging a component that returns this status, preserve the call site and whether the caller has an explicit handler for it. Trace array capacity before and after the status, allocation result, transaction identity, and retry count. A tight loop that immediately retries with unchanged capacity is a caller bug candidate. If growth itself fails, retain that underlying allocation failure rather than collapsing it back into STATUS_ALLOCATE_BUCKET, because the latter no longer explains why the documented recovery action could not be performed.

What to inspect

  • Record bucket-array capacity before the status and after the growth attempt.
  • Verify the transaction is retried only after structural growth succeeds.
  • Preserve the underlying allocation error if the array cannot be enlarged.

References


Looking for a different code? Search another status or error code.