Skip to content

expirationd: get_fid is broken in the guardian loop #14

@kostja

Description

@kostja

The guardian loop is broken, since get_fiber_id can throw an error if the fiber is dead.
fiber:id() for dead fibers doesn't work starting from Tarantool 1.4 I think.

If a fiber dies before guardian loop checks its status, the guardian itself can die with an exception.

The same bug is present in 1.5 version at http://github.com/mailru/tntlua

Use fiber:status() to find out fiber status, it doesn't throw.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions