Skip to content

Conversation

@ellert
Copy link
Contributor

@ellert ellert commented Jan 21, 2025

Additional fixes related to the use time_t for timeouts change

The PR was split out from #2380. The commit in this PR is related to the change of type for timeouts to time_t that is only in the devel branch. It was split out to a separate PR in order to rebase the original PS to masterl

abh3 and others added 21 commits January 21, 2025 16:52
Map various connection-related errors in XrdCl in XCache all the
way through to the HTTP layer.

This allows a failure to connect to the origin to be represented
with the correct status code ("Bad Gateway"); currently, a down
origin results in a 500 ("Internal Server Error") which is misleading
for users.
uint16_t to time_t. Since time_t can be 64 bits the Python bindings
need to use unsigned long long.
We test for overflow, but now timeouts use time_t, which may be
64 bits wide, so use 2^65 to force an overflow in that case too.
Reverts commit eb4295e as the hack
introduced there is no longer needed after the current fix.

Fixes: xrootd#2357
In the new SciTag specification, the content of the emitted firefly
should always be created from the data sender point of view.
For HTTP PUT: the srcIp is the client, dstIP is the server,
sentBytes=socketReceivedBytes (~=fileSize),
receivedBytes=socketSentBytes (~=0)
For HTTP GET: the srcIP is the server, dstIP is the client,
sentBytes=socketSentBytes(~=fileSize)
receivedBytes=socketReceivedBytes(~=0)

The distinction is therefore done via the pmark.appname CGI that is
equal to "http-get" if the client request is a GET request or equal to
"http-put" if not.
While RFC 4291 in 2006 introduced "IPv4-compatible IPv6 addresses"
(i.e. ::<ipv4>) if also specified IPv4 mapped addresses (i.e. ::ffff:<ipv4>).
In the intervening years, most implementation no longer support compatible
addresses and mapped address format has replaced it. This update removes
support for compatible address format generation as it's unlikely to work
and substitutes mapped address format as the alternative.
Additional fixes related to the use time_t for timeouts change
@ellert
Copy link
Contributor Author

ellert commented Feb 7, 2025

The proposed changes in this PR have been applied independently by @smithdh in commit 653bf57.
Closing.

@ellert ellert closed this Feb 7, 2025
@ellert ellert deleted the format-timeout branch February 7, 2025 12:31
@amadio
Copy link
Member

amadio commented Feb 7, 2025

@ellert Apologies, I didn't realize that this and the other were the same.

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.

5 participants