Placement builder fails to do the job in some conditions #1420

Closed
opened 2025-12-28 17:22:56 +00:00 by sami · 2 comments
Owner

Originally created by @roman-khimov on GitHub (May 20, 2025).

Originally assigned to: @End-rey on GitHub.

Expected Behavior

Correct placement building for an object.

Current Behavior

A number of

May 20 13:01:48 titan3 neofs-node[1714297]: error        policer/check.go:106        could not build placement vector for object        {"component": "Object Policer", "cid": "9iVfUg8aDHKjPC4LhQXEkVUM4HDkR7UCXYLs8NQwYfSG", "error": "could not get container nodes: not enough nodes to SELECT from: ''"}

for a single container. The node has proper current map (same as #3363), policy itself is rather trivial:

placement policy:
REP 1
$ ./bin/neofs-cli container nodes --cid 9iVfUg8aDHKjPC4LhQXEkVUM4HDkR7UCXYLs8NQwYfSG -r grpcs://st3.t5.fs.neo.org:8082
Descriptor #1, REP 1:
        Node 1: 03580e5bf6318513059da53975d692d6492c03fb478d7fff9a7370bb368d034a22 ONLINE /dns4/st3.t5.fs.neo.org/tcp/8080 
                Deployed: NSPCC
                Capacity: 78
                CountryCode: SG
                Location: Singapore
                Country: Singapore
                UN-LOCODE: SG SIN
                Price: 10
                Continent: Asia
                Version: 0.45.2
        Node 2: 03000a222431891c481f2fbce61297547e816e164750f5ea94e2831c219bbe3504 ONLINE /dns4/st4.t5.fs.neo.org/tcp/8080 
                Capacity: 78
                Deployed: NSPCC
                CountryCode: US
                Continent: North America
                SubDiv: California
                Version: 0.45.2
                Location: San Francisco
                UN-LOCODE: US SFO
                Price: 10
                SubDivCode: CA
                Country: United States
        Node 3: 024cda0e7f60284295101465fc47e8a324da994b1cb39ba56825550025c9e9598b ONLINE /dns4/st2.t5.fs.neo.org/tcp/8080 
                Capacity: 29
                Continent: Europe
                SubDiv: Hessen
                Version: 0.45.2
                Deployed: NSPCC
                Country: Germany
                Location: Frankfurt am Main
                UN-LOCODE: DE FRA
                Price: 10
                CountryCode: DE
                SubDivCode: HE

Still it doesn't work.

Possible Solution

Maybe related to caching of some kind?

Steps to Reproduce (for bugs)

Unknown. A single testnet node was found in this condition, but it recovered after restart.

Context

Testnet.

Regression

Unknown.

Your Environment

  • Version used: 0.46.1
  • Server setup and configuration: testnet
  • Operating System and version (uname -a): Debian stable
Originally created by @roman-khimov on GitHub (May 20, 2025). Originally assigned to: @End-rey on GitHub. ## Expected Behavior Correct placement building for an object. ## Current Behavior A number of ``` May 20 13:01:48 titan3 neofs-node[1714297]: error policer/check.go:106 could not build placement vector for object {"component": "Object Policer", "cid": "9iVfUg8aDHKjPC4LhQXEkVUM4HDkR7UCXYLs8NQwYfSG", "error": "could not get container nodes: not enough nodes to SELECT from: ''"} ``` for a single container. The node has proper current map (same as #3363), policy itself is rather trivial: ``` placement policy: REP 1 ``` ``` $ ./bin/neofs-cli container nodes --cid 9iVfUg8aDHKjPC4LhQXEkVUM4HDkR7UCXYLs8NQwYfSG -r grpcs://st3.t5.fs.neo.org:8082 Descriptor #1, REP 1: Node 1: 03580e5bf6318513059da53975d692d6492c03fb478d7fff9a7370bb368d034a22 ONLINE /dns4/st3.t5.fs.neo.org/tcp/8080 Deployed: NSPCC Capacity: 78 CountryCode: SG Location: Singapore Country: Singapore UN-LOCODE: SG SIN Price: 10 Continent: Asia Version: 0.45.2 Node 2: 03000a222431891c481f2fbce61297547e816e164750f5ea94e2831c219bbe3504 ONLINE /dns4/st4.t5.fs.neo.org/tcp/8080 Capacity: 78 Deployed: NSPCC CountryCode: US Continent: North America SubDiv: California Version: 0.45.2 Location: San Francisco UN-LOCODE: US SFO Price: 10 SubDivCode: CA Country: United States Node 3: 024cda0e7f60284295101465fc47e8a324da994b1cb39ba56825550025c9e9598b ONLINE /dns4/st2.t5.fs.neo.org/tcp/8080 Capacity: 29 Continent: Europe SubDiv: Hessen Version: 0.45.2 Deployed: NSPCC Country: Germany Location: Frankfurt am Main UN-LOCODE: DE FRA Price: 10 CountryCode: DE SubDivCode: HE ``` Still it doesn't work. ## Possible Solution Maybe related to caching of some kind? ## Steps to Reproduce (for bugs) Unknown. A single testnet node was found in this condition, but it recovered after restart. ## Context Testnet. ## Regression Unknown. ## Your Environment * Version used: 0.46.1 * Server setup and configuration: testnet * Operating System and version (`uname -a`): Debian stable
sami 2025-12-28 17:22:56 +00:00
Author
Owner

@roman-khimov commented on GitHub (May 20, 2025):

Reproduced. Same node.

May 20 13:59:10 titan3 neofs-node[1768656]: error        policer/check.go:106        could not build placement vector for object        {"component": "Object Policer", "cid": "9NimkSr5MxjLgQJEzoNFSaU3vHhSuLVKZvZRRRjbXbQ9", "error": "could not get container nodes: not enough nodes to SELECT from: 'X'"}
@roman-khimov commented on GitHub (May 20, 2025): Reproduced. Same node. ``` May 20 13:59:10 titan3 neofs-node[1768656]: error policer/check.go:106 could not build placement vector for object {"component": "Object Policer", "cid": "9NimkSr5MxjLgQJEzoNFSaU3vHhSuLVKZvZRRRjbXbQ9", "error": "could not get container nodes: not enough nodes to SELECT from: 'X'"} ```
Author
Owner

@roman-khimov commented on GitHub (May 20, 2025):

Can be related

May 20 18:10:33 titan3 neofs-node[1768656]: warn        controller/calls.go:99        skip local metric        {"component": "container_estimations", "epoch": 21838, "stage": "p2p", "cid": "2cVbPMzKoaLd54Yv5XsWmBTa9qFJ63G8VDZjKkxCxov3", "error": "could not build placement 2cVbPMzKoaLd54Yv5XsWmBTa9qFJ63G8VDZjKkxCxov3: could not build container nodes: not enough nodes to SELECT from: 'X'"}
@roman-khimov commented on GitHub (May 20, 2025): Can be related ``` May 20 18:10:33 titan3 neofs-node[1768656]: warn controller/calls.go:99 skip local metric {"component": "container_estimations", "epoch": 21838, "stage": "p2p", "cid": "2cVbPMzKoaLd54Yv5XsWmBTa9qFJ63G8VDZjKkxCxov3", "error": "could not build placement 2cVbPMzKoaLd54Yv5XsWmBTa9qFJ63G8VDZjKkxCxov3: could not build container nodes: not enough nodes to SELECT from: 'X'"} ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nspcc-dev/neofs-node#1420
No description provided.