Compact doesn't free space

MongoDB three-node replica set, version v4.4.5.
I removed some data in the collection on the PRIMARY node, and then I executed the compact command on the SECONDARY node, but the freeStorageSize was not released after execution, why?

local-mongodb-one:SECONDARY> db.test_catch.stats()
{
        "ns" : "mdworkflow.test_catch",
        "size" : NumberLong("5555713675259"),
        "count" : 18994123,
        "avgObjSize" : 292496,
        "storageSize" : 811467612160,
        "freeStorageSize" : 30761287680,
        "capped" : false
}
local-mongodb-one:SECONDARY> db.runCommand({ compact:"test_catch" } )
{ "bytesFreed" : 0, "ok" : 1 }
local-mongodb-one:SECONDARY> db.test_catch.stats()
{
        "ns" : "mdworkflow.test_catch",
        "size" : NumberLong("5555714175181"),
        "count" : 18994126,
        "avgObjSize" : 292496,
        "storageSize" : 811467612160,
        "freeStorageSize" : 30761205760,
        "capped" : false
}

You could try updating to the latest patch release and attempt the compact again. 4.4.5 contains a patched critical issue and is not recommended for production use.

Your database could also be hitting https://jira.mongodb.org/browse/SERVER-41596

As an alternative to compaction you could resync the node.

I have deployed a replica set of MongoDB with the same version, and it has been verified that executing “compact” releases disk space in the new environment.

The data in this environment was originally migrated from v3.4.24 to v4.4.5. I am not sure if this has any impact on the issue. Resyncing the replica node data does release space, but it is too time-consuming. My intention is to solve the problem of why “compact” does not release disk space in this environment.

If you have any better ideas, please let me know. Thank you very much.

A post was split to a new topic: Compact run on primary no space released