Print

Print


  Branch: refs/heads/stable-4.12.x
  Home:   https://github.com/xrootd/xrootd
  Commit: e2325fa6dd40d7bab082e761548ce872b75653f3
      https://github.com/xrootd/xrootd/commit/e2325fa6dd40d7bab082e761548ce872b75653f3
  Author: Brian Bockelman <[log in to unmask]>
  Date:   2021-02-03 (Wed, 03 Feb 2021)

  Changed paths:
    M src/XrdTpc/XrdTpcState.cc
    M src/XrdTpc/XrdTpcState.hh
    M src/XrdTpc/XrdTpcStream.cc
    M src/XrdTpc/XrdTpcStream.hh

  Log Message:
  -----------
  XrdTpc: Fix the return value of `Stream::Write`

This is an internal API and really should match the semantics of
the POSIX `write()` call as it returns the size of the write.

Conflicts:
	src/XrdTpc/XrdTpcState.cc


  Commit: 1532ac0f8e038b7db560daff74bea6eddf2c5bbd
      https://github.com/xrootd/xrootd/commit/1532ac0f8e038b7db560daff74bea6eddf2c5bbd
  Author: Brian Bockelman <[log in to unmask]>
  Date:   2021-02-03 (Wed, 03 Feb 2021)

  Changed paths:
    M src/XrdTpc/XrdTpcStream.hh

  Log Message:
  -----------
  XrdTpc: Catch all negative return values not just SFS_ERROR.


  Commit: 78594091680c407ba1c22953c58e56afa9aafe16
      https://github.com/xrootd/xrootd/commit/78594091680c407ba1c22953c58e56afa9aafe16
  Author: Brian Bockelman <[log in to unmask]>
  Date:   2021-02-03 (Wed, 03 Feb 2021)

  Changed paths:
    M src/XrdTpc/XrdTpcStream.cc
    M src/XrdTpc/XrdTpcStream.hh

  Log Message:
  -----------
  XrdTpc: Factor out recursive writes.

This separates the writing methods of the stream to avoid potential
recursion when dumping buffered data.  This also allows the buffer
to accept partial data so the beginning offset of the buffer is
always a multiple of the buffer size (i.e., the buffer offsets
always stay MB-aligned).

With this, a single incoming buffer from curl may be split across
two entries in order to keep alignment.


  Commit: 72f3cea2f3b02fa7b043862cd33dcb0568843cf0
      https://github.com/xrootd/xrootd/commit/72f3cea2f3b02fa7b043862cd33dcb0568843cf0
  Author: Brian Bockelman <[log in to unmask]>
  Date:   2021-02-03 (Wed, 03 Feb 2021)

  Changed paths:
    M src/XrdTpc/XrdTpcStream.hh

  Log Message:
  -----------
  XrdTpc: Do not allow partial buffer writes

The multistream code uses an occupied buffer as an indication that
a request is ongoing; for now, we can't do partial buffer writes
as this causes the back-off code to think the buffer is free and
start too many requests.


  Commit: 8e4b6ae9f60050ff1530c2c559af3ee461695465
      https://github.com/xrootd/xrootd/commit/8e4b6ae9f60050ff1530c2c559af3ee461695465
  Author: Brian Bockelman <[log in to unmask]>
  Date:   2021-02-03 (Wed, 03 Feb 2021)

  Changed paths:
    M src/XrdTpc/XrdTpcTPC.cc
    M src/XrdTpc/XrdTpcTPC.hh

  Log Message:
  -----------
  XrdTpc: Adjust buffer size based on number of streams.

As we only write when buffers are full and we don't need a full 16MB
buffer when we are doing single-streams (for single stream, we're only
waiting to accumulate a "large-enough" MB-aligned buffer), we can
simply decrease the buffer size.  Saves some allocated-but-unused
space.


  Commit: 19a48f45a45983223a7942eae1db0bb097788d6a
      https://github.com/xrootd/xrootd/commit/19a48f45a45983223a7942eae1db0bb097788d6a
  Author: Brian Bockelman <[log in to unmask]>
  Date:   2021-02-03 (Wed, 03 Feb 2021)

  Changed paths:
    M src/XrdTpc/XrdTpcStream.cc

  Log Message:
  -----------
  XrdTpc: Always populate error buffer with messages.

Even when there's an internal logic error, make sure the Write
method populates the error message - if nothing else, will be useful
for debugging.


Compare: https://github.com/xrootd/xrootd/compare/f8153c5caf0b...19a48f45a459

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1