The read/write_internal function was introduced as a method to avoid re-parsing a configtree from the canonical saved format; it was then extended for a quick read of the reference tree cache (https://github.com/vyos/vyos1x-config/blob/rolling/src/internal.ml). Re-parsing is a source of unnecessary overhead, and the idea is sound ('internal' alludes to some opaque serialization format; currently it uses ppx_deriving_yojson for convenient de/serializers). There is a bug in the implementation related to thread_registration of the resulting function, first noticed in T7588, with a simple workaround which provided other advantages. As it is also seen in T8993, it is proper to resolve globally. The construction will be avoided with a simple refactoring for T8993, and the global resolution here; although a straightforward fix, it will require some renaming/refactoring.
Description
Description
Details
Details
- Version
- -
- Is it a breaking change?
- Perfectly compatible
- Issue type
- Bug (incorrect behavior)
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Resolved | BUG | jestabro | T5006 Http api segfault with concurrent requests | ||
| Resolved | BUG | jestabro | T5305 REST API configure operation should not be defined as async | ||
| Resolved | FEATURE REQUEST | jestabro | T7498 Extend HTTP API load/merge request to allow passing config in body | ||
| Open | jestabro | T7427 Replace legacy commit algorithm and data structures with vyconfd | |||
| Resolved | ENHANCEMENT | jestabro | T7499 Update config merge tool | ||
| Resolved | BUG | jestabro | T7588 Vyconf: Call libvyosconfig functions from main thread under http-api | ||
| Resolved | BUG | jestabro | T8993 Initialization bug when config-sync diff runs before first synced commit | ||
| Resolved | BUG | jestabro | T9015 Resolve thread_registration error in vyos1x-config read_internal* functions |