Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

yaml: unnecessary anchors #8350

Closed
Totktonada opened this issue Feb 18, 2023 · 0 comments · Fixed by #9777
Closed

yaml: unnecessary anchors #8350

Totktonada opened this issue Feb 18, 2023 · 0 comments · Fixed by #9777
Assignees
Labels
bug Something isn't working serializers Fearutes and bugs related to built-in serializers

Comments

@Totktonada
Copy link
Member

Totktonada commented Feb 18, 2023

Tarantool version: 2.11.0-entrypoint-1037-gbf8b76a4d.

Tarantool 2.11.0-entrypoint-1037-gbf8b76a4d
type 'help' for interactive help
tarantool> require('tarantool')
---
- build: &0
    target: Linux-x86_64-Debug
    options: cmake . -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_BACKTRACE=TRUE
    linking: dynamic
    mod_format: so
    flags: -march=native -O2 -ggdb -fexceptions -funwind-tables -fasynchronous-unwind-tables
      -fno-common -fopenmp -msse2 -mavx -Wformat -Wformat-security -Werror=format-security
      -fstack-protector-strong -fPIC -fmacro-prefix-map=/var/tmp/portage/dev-db/tarantool-9999/work/tarantool-9999=.
      -std=c11 -Wall -Wextra -Wno-gnu-alignof-expression -fno-gnu89-inline -Wno-cast-function-type
      -Werror
    compiler: GNU-12.2.1
  package: Tarantool
  debug: &1
    getsources: 'function: 0x40fcd508'
  uptime: 'function: 0x408364d8'
  version: 2.11.0-entrypoint-1037-gbf8b76a4d
  pid: 'function: 0x408364f8'
...

build and debug are anchored, but not present second time in the output.

@Totktonada Totktonada added bug Something isn't working serializers Fearutes and bugs related to built-in serializers labels Feb 18, 2023
@nshy nshy assigned nshy and unassigned Mons Jan 23, 2024
nshy added a commit to nshy/tarantool that referenced this issue Feb 27, 2024
The tarantool#8350 was introduced by the commit b42302f ("lua-yaml: enable
aliasing for objects returned by __serialize") so the patch is
effectively reversed.

The idea is to call all object __serialize methods recursively before
finding references. In the process we need to keep an eye on reference
structure of course.

Closes tarantool#8350
Closes tarantool#8321
Closes tarantool#8310

NO_DOC=bugfix
nshy added a commit to nshy/tarantool that referenced this issue Feb 27, 2024
The tarantool#8350 was introduced by the commit b42302f ("lua-yaml: enable
aliasing for objects returned by __serialize") so the patch is
effectively reversed.

The idea is to call all object __serialize methods recursively before
finding references. In the process we need to keep an eye on reference
structure of course.

Closes tarantool#8350
Closes tarantool#8321
Closes tarantool#8310

NO_DOC=bugfix
Totktonada added a commit to Totktonada/tarantool that referenced this issue Mar 6, 2024
The tarantool#8350 was introduced by the commit b42302f ("lua-yaml: enable
aliasing for objects returned by __serialize") so the patch is
effectively reversed.

The idea is to call all object __serialize methods recursively before
finding references. The new serialization pass stores the mapping from
the original object to the serialized representation.

After this, the reference analysis pass and the encoding pass use this
mapping to replace original objects with the serialized representation.

As result, the reference analysis has a complete information about
objects and no references are missed.

Closes tarantool#8350
Closes tarantool#8310
Closes tarantool#8321

NO_DOC=bugfix

Co-authored-by: Nikolay Shirokovskiy <nshirokovskiy@tarantool.org>
Totktonada added a commit to Totktonada/tarantool that referenced this issue Mar 7, 2024
The tarantool#8350 was introduced by the commit b42302f ("lua-yaml: enable
aliasing for objects returned by __serialize") so the patch is
effectively reversed.

The idea is to call all object __serialize methods recursively before
finding references. The new serialization pass stores the mapping from
the original object to the serialized representation.

After this, the reference analysis pass and the encoding pass use this
mapping to replace original objects with the serialized representation.

As result, the reference analysis has a complete information about
objects and no references are missed.

Closes tarantool#8350
Closes tarantool#8310
Closes tarantool#8321

NO_DOC=bugfix

Co-authored-by: Nikolay Shirokovskiy <nshirokovskiy@tarantool.org>
Totktonada added a commit to Totktonada/tarantool that referenced this issue Mar 11, 2024
The tarantool#8350 was introduced by the commit b42302f ("lua-yaml: enable
aliasing for objects returned by __serialize") so the patch is
effectively reversed.

The idea is to call all object __serialize methods recursively before
finding references. The new serialization pass stores the mapping from
the original object to the serialized representation.

After this, the reference analysis pass and the encoding pass use this
mapping to replace original objects with the serialized representation.

As result, the reference analysis has a complete information about
objects and no references are missed.

Closes tarantool#8350
Closes tarantool#8310
Closes tarantool#8321

NO_DOC=bugfix

Co-authored-by: Nikolay Shirokovskiy <nshirokovskiy@tarantool.org>
Totktonada added a commit that referenced this issue Mar 11, 2024
The #8350 was introduced by the commit b42302f ("lua-yaml: enable
aliasing for objects returned by __serialize") so the patch is
effectively reversed.

The idea is to call all object __serialize methods recursively before
finding references. The new serialization pass stores the mapping from
the original object to the serialized representation.

After this, the reference analysis pass and the encoding pass use this
mapping to replace original objects with the serialized representation.

As result, the reference analysis has a complete information about
objects and no references are missed.

Closes #8350
Closes #8310
Closes #8321

NO_DOC=bugfix

Co-authored-by: Nikolay Shirokovskiy <nshirokovskiy@tarantool.org>
Totktonada added a commit to Totktonada/tarantool that referenced this issue Mar 11, 2024
The tarantool#8350 was introduced by the commit b42302f ("lua-yaml: enable
aliasing for objects returned by __serialize") so the patch is
effectively reversed.

The idea is to call all object __serialize methods recursively before
finding references. The new serialization pass stores the mapping from
the original object to the serialized representation.

After this, the reference analysis pass and the encoding pass use this
mapping to replace original objects with the serialized representation.

As result, the reference analysis has a complete information about
objects and no references are missed.

Closes tarantool#8350
Closes tarantool#8310
Closes tarantool#8321

NO_DOC=bugfix

Co-authored-by: Nikolay Shirokovskiy <nshirokovskiy@tarantool.org>
(cherry picked from commit 610f5fb)
Totktonada added a commit to Totktonada/tarantool that referenced this issue Mar 11, 2024
The tarantool#8350 was introduced by the commit b42302f ("lua-yaml: enable
aliasing for objects returned by __serialize") so the patch is
effectively reversed.

The idea is to call all object __serialize methods recursively before
finding references. The new serialization pass stores the mapping from
the original object to the serialized representation.

After this, the reference analysis pass and the encoding pass use this
mapping to replace original objects with the serialized representation.

As result, the reference analysis has a complete information about
objects and no references are missed.

Closes tarantool#8350
Closes tarantool#8310
Closes tarantool#8321

NO_DOC=bugfix

Co-authored-by: Nikolay Shirokovskiy <nshirokovskiy@tarantool.org>
(cherry picked from commit 610f5fb)
Totktonada added a commit that referenced this issue Mar 12, 2024
The #8350 was introduced by the commit b42302f ("lua-yaml: enable
aliasing for objects returned by __serialize") so the patch is
effectively reversed.

The idea is to call all object __serialize methods recursively before
finding references. The new serialization pass stores the mapping from
the original object to the serialized representation.

After this, the reference analysis pass and the encoding pass use this
mapping to replace original objects with the serialized representation.

As result, the reference analysis has a complete information about
objects and no references are missed.

Closes #8350
Closes #8310
Closes #8321

NO_DOC=bugfix

Co-authored-by: Nikolay Shirokovskiy <nshirokovskiy@tarantool.org>
(cherry picked from commit 610f5fb)
Totktonada added a commit that referenced this issue Mar 12, 2024
The #8350 was introduced by the commit b42302f ("lua-yaml: enable
aliasing for objects returned by __serialize") so the patch is
effectively reversed.

The idea is to call all object __serialize methods recursively before
finding references. The new serialization pass stores the mapping from
the original object to the serialized representation.

After this, the reference analysis pass and the encoding pass use this
mapping to replace original objects with the serialized representation.

As result, the reference analysis has a complete information about
objects and no references are missed.

Closes #8350
Closes #8310
Closes #8321

NO_DOC=bugfix

Co-authored-by: Nikolay Shirokovskiy <nshirokovskiy@tarantool.org>
(cherry picked from commit 610f5fb)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working serializers Fearutes and bugs related to built-in serializers
Projects
None yet
3 participants