Skip to content

seastar: update submodule #58452

Merged
Matan-B merged 6 commits intoceph:mainfrom
Matan-B:wip-matanb-seastar-july7
Jul 21, 2024
Merged

seastar: update submodule #58452
Matan-B merged 6 commits intoceph:mainfrom
Matan-B:wip-matanb-seastar-july7

Conversation

@Matan-B
Copy link
Contributor

@Matan-B Matan-B commented Jul 7, 2024


The submodule is updated to branch https://github.com/ceph/seastar/commits/wip-matanb-seastar-july9/

Contribution Guidelines

  • To sign and title your commits, please refer to Submitting Patches to Ceph.

  • If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.

  • When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an x between the brackets: [x]. Spaces and capitalization matter when checking off items this way.

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Component impact
    • Affects Dashboard, opened tracker ticket
    • Affects Orchestrator, opened tracker ticket
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)
Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test dashboard cephadm
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox
  • jenkins test windows
  • jenkins test rook e2e

@Matan-B Matan-B added the crimson label Jul 7, 2024
@Matan-B Matan-B requested a review from a team July 7, 2024 11:54
@github-actions github-actions bot added the CI Continuous Integration label Jul 7, 2024
@Matan-B
Copy link
Contributor Author

Matan-B commented Jul 8, 2024

jenkins test make check

@Matan-B Matan-B force-pushed the wip-matanb-seastar-july7 branch from 0b46f71 to 8efc2e8 Compare July 9, 2024 12:45
@github-actions github-actions bot added the tests label Jul 9, 2024
@Matan-B
Copy link
Contributor Author

Matan-B commented Jul 9, 2024

@tchaikov, @athanatos - I had to also revert ceph/seastar@914a424 from our submodule since we can't deprecate operator<< yet (for vector and unordered_map). The commit message says:

...
and these two formatters are marked deprecated.
so in future, we can remove them when we bump up the API level or just
completely drop them.

Is it intended for the deprecation to apply to the project as a whole (and not just seastar's usage of it)?

@Matan-B Matan-B force-pushed the wip-matanb-seastar-july7 branch from 8efc2e8 to e076150 Compare July 9, 2024 12:54
@tchaikov
Copy link
Contributor

tchaikov commented Jul 9, 2024

@tchaikov, @athanatos - I had to also revert ceph/seastar@914a424 from our submodule since we can't deprecate operator<< yet (for vector and unordered_map). The commit message says:

...
and these two formatters are marked deprecated.
so in future, we can remove them when we bump up the API level or just
completely drop them.

Is it intended for the deprecation to apply to the project as a whole (and not just seastar's usage of it)?

IMO, seastar is just an event-driven library, it is not in a position to decide how its parent project formats an instance of std::vector<T>. actually, ceph has two overloads for formatting std::vector<T>, and one overload for formatting std::unordered_set<T>.

i think the right way to fix this is

  1. do not define Seastar_DEPRECATED_OSTREAM_FORMATTERS
  2. define operator<< for std::unordered_map<T> in Ceph, instead of relying on a library like seastar to do this.

Matan-B added 5 commits July 9, 2024 14:16
Update submodule to branch https://github.com/ceph/seastar/commits/wip-matanb-seastar-july9/

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
scylladb/seastar@2b43417

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
ceph/seastar@914a424

We shouldn't rely on seastar's formatters

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
@Matan-B Matan-B force-pushed the wip-matanb-seastar-july7 branch from e076150 to 2539c6f Compare July 9, 2024 14:16
@Matan-B
Copy link
Contributor Author

Matan-B commented Jul 9, 2024

i think the right way to fix this is

  1. do not define Seastar_DEPRECATED_OSTREAM_FORMATTERS
  2. define operator<< for std::unordered_map<T> in Ceph, instead of relying on a library like seastar to do this.

@tchaikov, thank you for the quick reply.
btw, do you think that ceph/seastar@e7a2679 should be pushed to the main repo as well? Awaiting make check to find more instances.

Looks clang specific llvm/llvm-project#52720

Edit: structural bindings captures were is the issue for clang 15 and below.
https://godbolt.org/z/ez4Y99xfK

clang++-14:

```
/home/jenkins-build/build/workspace/ceph-pull-requests/src/test/crimson/seastore/test_seastore.cc:86:5: error: void function 'do_transaction' should not return a value [-Wreturn-type]
    return sharded_seastore->do_transaction(
    ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jenkins-build/build/workspace/ceph-pull-requests/src/test/crimson/seastore/test_seastore.cc:94:5: error: void function 'set_meta' should not return a value [-Wreturn-type]
    return seastore->write_meta(key, value).get();
    ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
```

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
@Matan-B
Copy link
Contributor Author

Matan-B commented Jul 10, 2024

jenkins test make check

@Matan-B
Copy link
Contributor Author

Matan-B commented Jul 11, 2024

@Matan-B
Copy link
Contributor Author

Matan-B commented Jul 11, 2024

Added https://tracker.ceph.com/issues/66905 to remove the last commit from our submodule once we update the compilers used for CI.

@tchaikov
Copy link
Contributor

i think the right way to fix this is

  1. do not define Seastar_DEPRECATED_OSTREAM_FORMATTERS
  2. define operator<< for std::unordered_map<T> in Ceph, instead of relying on a library like seastar to do this.

@tchaikov, thank you for the quick reply. btw, do you think that ceph/seastar@e7a2679 should be pushed to the main repo as well? Awaiting make check to find more instances.

unless you believe it's a bug in seastar instead of a bug in clang.

you could verify this with, for instance, a recent version of GCC. if both of them complain, there are good chances it's a bug in Seastar. or you could check if this is indeed something not supported by C++20. yeah, i knew that the standard is not human readable under most circumstances. but still..

Looks clang specific llvm/llvm-project#52720

Edit: structural bindings captures were is the issue for clang 15 and below. https://godbolt.org/z/ez4Y99xfK

@Matan-B
Copy link
Contributor Author

Matan-B commented Jul 11, 2024

unless you believe it's a bug in seastar instead of a bug in clang.

It's a bug in clang which was fixed in 16 and higher, shouldn't probably be fixed in seastar. I'll keep it in out submodule until we stop using the older version. Thank you!

@athanatos athanatos self-requested a review July 11, 2024 15:51

void do_transaction(CTransaction &&t) {
return sharded_seastore->do_transaction(
return (void)sharded_seastore->do_transaction(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit, s/return//

@cbodley
Copy link
Contributor

cbodley commented Jul 18, 2024

@Matan-B can this be reasonably backported to squid, or should we backport #58427 instead? still seeing a lot of 'make check' failures on squid due to https://tracker.ceph.com/issues/66834

@Matan-B
Copy link
Contributor Author

Matan-B commented Jul 21, 2024

@Matan-B can this be reasonably backported to squid, or should we backport #58427 instead? still seeing a lot of 'make check' failures on squid due to https://tracker.ceph.com/issues/66834

#58702 should do. thanks for updating the tracker!

@Matan-B
Copy link
Contributor Author

Matan-B commented Jul 21, 2024

@Matan-B Matan-B merged commit d557013 into ceph:main Jul 21, 2024
@Matan-B
Copy link
Contributor Author

Matan-B commented Jul 21, 2024

@xxhdx1985126 @cyx1231st FYI

NitzanMordhai pushed a commit to NitzanMordhai/ceph that referenced this pull request Aug 1, 2024
seastar: update submodule 

Reviewed-by: Samuel Just <sjust@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants