XRootD Developers Meeting
Meeting summary
Quick recap
Guilherme and Andy discussed preparations for an upcoming collaboration meeting scheduled for July 9th, including the agenda which covers project stats, release plans for versions 6.1-6.3, and a review of WLCG OTF#9 meeting action items. They reviewed specific technical topics including the new command line tool development (gfal2 replacement), concerns about AI-assisted code generation and review processes, and the need to document the governance model and stakeholder communication channels. The conversation also covered implementation details for authentication mechanisms, performance testing requirements, and the distinction between the OSG monitoring collector and shoveler functionality in the context of WLCG integration. They agreed on the importance of establishing clear processes for AI-assisted development, including requiring human authors and proper code reviews, while also discussing how to formalize stakeholder engagement through existing forums like the Architects Forum.
Next steps
Guilherme
- Set up the July 9th collaboration meeting with Zoom recording enabled and send out the announcement email (including reminder of the workshop).
- Prepare and send the agenda for the July 9th meeting, including items such as project stats, XRootD 6.1/6.2/6.3 plans, OTF meeting debrief, client evolution (Luca's plan), and AI contribution policy.
- Review and iterate with Andreas on the OIDC and SSH plugin pull requests for inclusion in XRootD 6.2.
- Work on implementing the OSG shoveler/collector functionality in C++ within XRootD.
- Create a draft document for the project's governance model, based on examples from projects like curl and Cilium.
- Prepare a short presentation (3-4 slides) on AI contribution policy for the July 9th meeting.
- Refine the new website prototype created with Claude to improve the project's image and attract more contributors.
- Clean up and prioritize the GitHub issues and pull requests, using the new priority fields added by GitHub to all issues by default.
Andy
- Review the pull requests related to the tape REST API, client command line tool, XrdMirage plugin, etc.
Collaboration
- Guilherme & Andy: Sit down together (when Andy is in town) to review open pull requests and discuss architectural approach for new features (e.g., tape REST API, command line tool).
Summary
July Meeting Planning Discussion
Guilherme and Andy discussed plans for an upcoming meeting scheduled for July 9th, with Andy confirming it works for his schedule before leaving. They reviewed the meeting agenda which includes project stats, short-term plans, discussion of XRootD 6.1, and plans for future releases 6.2 and 6.3. The conversation also covered action items from an OTF meeting in March, including monitoring topics and a new command line tool that Luis is developing to replace GFAL. Andy suggested using existing parsing methods to avoid code duplication.
AI Initiatives and Contribution Planning
Guilherme and Andy discussed how to handle AI-based contributions, mentioning plans to write a document about tracking AI usage for better review and coding practices. They reviewed action items from an OTF meeting, including topics like standardized log message formats and performance tests, with Guilherme planning to use a collaboration meeting to clarify ownership and progress on these items. The discussion also touched on token challenges and authentication mechanisms, with Andy mentioning existing solutions in XRootD and EOS.
SSS+ Implementation Discussion
Guilherme and Andy discussed implementing an asymmetric version of SSS (SSS+) as an alternative to the current symmetric SSS system, which would use public-private key encryption rather than relying on private keys stored in repositories. They explored how this system would work similarly to SSH but without being protocol-specific, allowing clients to authenticate using their private keys while servers maintain a registry of corresponding public keys.
AI-Assisted Code Review Implementation
Guilherme and Andy discussed implementing AI-assisted code review to address bottlenecks in the current review process. Guilherme proposed using AI tools like Copilot and Claude to extend testing coverage and provide additional review capabilities. Andy expressed concerns about relying solely on AI reviews, emphasizing the need for human oversight and additional review eyes, while supporting the use of AI as a complementary tool to existing review processes, and Guilherme agrees that these tools should only assist in reviewing, with a human always taking a careful look in each proposed pull request.
Contribution Ladder System Implementation
Guilherme and Andy discussed implementing a contribution ladder system for their project, similar to what curl and cilium projects hava, to define roles and responsibilities. They agreed to document the current status quo and privileges, including how contributors can lose their status if they haven't been active. The discussion also covered how to handle stakeholder communication, with Andy suggesting that existing meetings like the Architects Forum could serve as stakeholder meetings for CERN-based experiments, while they would need to determine how to address non-CERN-based experiments. They concluded that they should define a yearly stakeholder process that involves the computing coordinator and discuss how to incorporate this into existing meetings like the OTF workshop.
AI Collaboration and Development Plans
Guilherme and Andy discussed plans for an upcoming collaboration meeting and workshop. They agreed to formalize the process for AI-assisted contributions, with Guilherme planning to prepare slides on reviewing AI-generated code and establishing clear practices for authors to use "assisted by" tags when AI tools are used. They decided to implement a monitoring shoverler/collector in C++ within XRootD in addition to the one written in Go by OSG, given the strong desire of WLCG to have a solution packaged together with XRootD. Andy will work on async I/O with io_uring support in a way that can work both server-side and client-side.
Website Design and Security Discussion
Guilherme and Andy discussed website improvements, though Andy suggested focusing on more pressing development tasks like monitoring features before implementing major website redesigns. Guilherme and Andy discussed the new website's design issues, with Guilherme noting inconsistencies in page widths and planning to refine the design during vacation time.
C++ Implementation and Release Planning
Guilherme and Andy discussed code implementation decisions, particularly regarding C++ version usage and the integration of tape REST API into XRootD. They agreed to review open pull requests together when Andy is present, with plans to discuss the architectural approach with Luca afterward. Regarding releases, they confirmed that the OIDC plugin changes will be deferred to version 6.2 due to significant refactoring, while OpenSSL 4 support and the XrdMirage plugin will be included in version 6.1, pending final review approval.
Packaging and Session ID Implementation
Guilherme and Andy discussed packaging issues where the build failed due to missing library dependencies in Debian packaging, which Guilherme will investigate and fix. They reviewed the implementation of session IDs, confirming that a growing number sequence is necessary for EOS functionality and that UUIDs cannot be used due to size constraints. Guilherme plans to merge the session ID changes for version 6.1 release on Friday, followed by streaming checksum support in phases and security plugin implementations including OpenID Connect and SSH. They decided to skip next week's meeting since Andy will be arriving soon and Guilherme will have just released 6.1.