Skip to content

Conversation

@findingrish
Copy link

@findingrish findingrish commented Apr 28, 2021

@github-actions

This comment has been minimized.

@codecov
Copy link

codecov bot commented Apr 28, 2021

Codecov Report

Merging #60 (26cde20) into main (287f57e) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##               main      #60   +/-   ##
=========================================
  Coverage     60.86%   60.86%           
  Complexity      233      233           
=========================================
  Files            78       78           
  Lines          1183     1183           
  Branches         33       33           
=========================================
  Hits            720      720           
  Misses          435      435           
  Partials         28       28           
Flag Coverage Δ Complexity Δ
unit 60.86% <ø> (ø) 233.00 <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 287f57e...26cde20. Read the comment docs.

@github-actions

This comment has been minimized.

@findingrish findingrish marked this pull request as ready for review April 28, 2021 18:56
@findingrish findingrish requested a review from a team as a code owner April 28, 2021 18:56
@github-actions

This comment has been minimized.

.concatMapSingle(
logEventsResponseVar -> this.convert(attributeRequests, logEventsResponseVar))
.collect(Collectors.groupingBy(logEvent -> (String) logEvent.attribute(foreignIdAttribute)))
logEventsResponseVar ->
Copy link
Contributor

Choose a reason for hiding this comment

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

What's the motivation for the change here? Since we were assuming the attribute existed in the response map and now we're guaranteeing it, the old logic would have also worked, right?

Copy link
Author

@findingrish findingrish Apr 28, 2021

Choose a reason for hiding this comment

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

If the original request for logs didn't have the spanId attribute we shouldn't return it back either, I guess. So, this part needed changes to filter out the spanId returned if it wasn't requested.

Copy link
Contributor

Choose a reason for hiding this comment

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

based on the way the response object is designed, it's safe to return extra data (because it's not a programmatic access but instead via the schema, we already know at request time what values of the map will be read by the serializer - that's how we generated the requested attributes)

Copy link
Author

Choose a reason for hiding this comment

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

yeah right spanId filtering would be automatically done, the problem was building the mapping of spanId -> List<LogEvent>. Currently the code was first converting LogEvent (gateway) -> LogEvent (gql) and then mapping spanId to logEvents, but now it is possible that spanId attribute would be lost after conversion.

Copy link
Contributor

Choose a reason for hiding this comment

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

got it - because the attribute map conversion is based on the requested rather than returned data, and we don't save the extra attribute into the request. makes sense.

@github-actions

This comment has been minimized.

.concatMapSingle(
logEventsResponseVar -> this.convert(attributeRequests, logEventsResponseVar))
.collect(Collectors.groupingBy(logEvent -> (String) logEvent.attribute(foreignIdAttribute)))
logEventsResponseVar ->
Copy link
Contributor

Choose a reason for hiding this comment

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

got it - because the attribute map conversion is based on the requested rather than returned data, and we don't save the extra attribute into the request. makes sense.

@findingrish findingrish merged commit e6a3738 into main Apr 29, 2021
@findingrish findingrish deleted the span-log-join-edge-case branch April 29, 2021 13:14
@github-actions
Copy link

Unit Test Results

29 files  ±0  29 suites  ±0   25s ⏱️ -1s
99 tests ±0  99 ✔️ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit e6a3738. ± Comparison against base commit 287f57e.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants