‹ Reports
The Dispatch

OSS Report: apache/dubbo


Apache Dubbo Development Sees Active Bug Fixing and Feature Enhancements

Apache Dubbo, a robust RPC and microservice framework, has experienced active development with significant bug fixes and feature enhancements, reflecting a commitment to improving system stability and expanding capabilities.

Recent Activity

Recent issues and pull requests (PRs) indicate a focus on serialization problems, protocol compatibility, and performance concerns. Key issues include deserialization failures (#14701) and registry center complications (#14699). The development team is actively addressing these through collaborative efforts.

Team Members and Recent Activities

Of Note

  1. Serialization Issues: Ongoing challenges with serialization formats, especially within the Triple protocol.

  2. Dependency Updates: Regular updates to key libraries like protobuf-java and curator.

  3. Feature Enhancements: New support for configuring HTTP2 max stream size in Spring Boot (#14702).

  4. Community Engagement: Active community contributions addressing bugs and proposing new features.

  5. Configuration Management: Need for improved documentation around configuration options highlighted by user feedback.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 6 2 4 0 1
30 Days 36 28 50 0 1
90 Days 99 60 223 1 1
1 Year 327 200 963 27 3
All Time 7002 6238 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Ken Liu 2 1/1/0 5 311 22177
Sean Yang 2 15/14/0 17 223 10981
Albumen Kevin 2 8/9/0 17 57 1512
王聪洋 1 0/0/0 1 25 825
TomlongTK 1 2/3/0 3 27 523
dependabot[bot] 22 50/30/0 51 18 172
funkye (funky-eyes) 1 1/1/0 1 14 84
jiangyuan 1 0/1/0 1 2 81
Liujunjie 1 5/2/3 2 6 63
co63oc 1 1/1/0 1 6 30
Jermaine Hua 1 2/2/0 2 2 20
aofall 1 1/1/0 1 1 13
lazy 1 3/1/1 1 1 4
Zaki 1 1/1/0 1 2 2
The True HOOHA 1 1/1/0 1 1 1
None (Chenjp) 0 1/0/1 0 0 0
xingci (xingcici) 0 1/0/0 0 0 0
JinQian (JinQian1024) 0 1/0/0 0 0 0
None (heliang666s) 0 2/0/1 0 0 0
None (bleachyiqihu) 0 1/0/1 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The Apache Dubbo project has seen a significant uptick in activity recently, with 764 open issues currently logged. Notably, several issues have been raised regarding serialization problems, compatibility with different protocols, and performance concerns. A recurring theme is the need for better integration and support for various serialization formats, particularly in the context of the Triple protocol and its interaction with other components like Spring Boot and Nacos.

Several issues indicate potential gaps in documentation or functionality, particularly around error handling and configuration management. The community appears to be actively engaged, with many contributors willing to submit pull requests to address these issues.

Issue Details

Recent Issues

  1. Issue #14701: [Bug] In the Dubbo interface, the parameter type is defined as the parent class, but when a subclass is passed as a parameter, deserialization fails.

    • Priority: Need Triage
    • Status: Open
    • Created: 1 day ago
    • Updated: N/A
  2. Issue #14699: [Bug] Registry. check=false is not available under multiple registration centers.

    • Priority: Need Triage
    • Status: Open
    • Created: 1 day ago
    • Updated: N/A
  3. Issue #14696: [Bug] application/x-www-form-urlencoded There is a problem with parameter parsing.

    • Priority: Need Triage
    • Status: Open
    • Created: 2 days ago
    • Updated: N/A
  4. Issue #14675: [Bug] In Dubbo 3.3.0 & 3.2.16, a java.util.concurrent.RejectedExecutionException is occasionally thrown during asynchronous service processing.

    • Priority: Need Triage
    • Status: Open
    • Created: 7 days ago
    • Updated: N/A
  5. Issue #14674: [Bug] Multiple registration centers cause clients to fail to call providers when one registry center goes down.

    • Priority: Need Triage
    • Status: Open
    • Created: 7 days ago
    • Updated: N/A
  6. Issue #14668: [Bug] java.util.ArrayList cannot be assigned to 'java.util.List'.

    • Priority: Need Triage
    • Status: Open
    • Created: 9 days ago
    • Updated: 7 days ago
  7. Issue #14666: [Bug] After running for a period of time, the provider is lost.

    • Priority: Need Triage
    • Status: Open
    • Created: 9 days ago
    • Updated: N/A
  8. Issue #14663: [Feature] Best Practices for Using Dubbo Stream.

    • Priority: Help Wanted
    • Status: Open
    • Created: 10 days ago
    • Updated: N/A
  9. Issue #14661: [Bug] Dubbo 2.7.23 Consumer not consuming properly when provider custom extends Dispatcher.

    • Priority: Need Triage
    • Status: Open
    • Created: 10 days ago
    • Updated: N/A
  10. Issue #14660: Dubbo Java 2.7.1 occasionally problem when the provider's IP changes after deployment.

    • Priority: Need Triage
    • Status: Open
    • Created: 10 days ago
    • Updated: 3 days ago

Analysis of Themes and Commonalities

  • A significant number of recent issues revolve around serialization errors and compatibility between different versions of Dubbo and external systems (e.g., Spring Boot, Nacos). This suggests that users are facing challenges when upgrading or integrating Dubbo with other technologies.

  • The presence of multiple bugs related to asynchronous processing indicates potential stability concerns in high-load scenarios, particularly with regard to how Dubbo manages threads and connections.

  • The community's willingness to contribute fixes through pull requests reflects an active engagement and desire to improve the framework's robustness.

  • Issues related to configuration management highlight a need for clearer documentation and potentially more user-friendly configuration options.

Overall, the current state of open issues indicates both a vibrant community working on enhancing Apache Dubbo and some critical areas that require immediate attention to improve user experience and system stability.

Report On: Fetch pull requests



Overview

The analysis of the Apache Dubbo project's pull requests (PRs) reveals a vibrant and active development community focused on enhancing the framework's capabilities, addressing bugs, and improving overall performance. The PRs cover a wide range of topics, including feature additions, dependency updates, and code optimizations.

Summary of Pull Requests

Recent Notable PRs

  • PR #14702: Added support for configuring Tomcat HTTP2 max stream size in Spring Boot. This PR enhances the framework's compatibility with HTTP2 by allowing configuration adjustments directly through Spring Boot.

  • PR #14698: Bumped protobuf-java dependency version from 3.25.0 to 3.25.5. This is a routine dependency update that ensures compatibility with the latest features and security patches in Protocol Buffers.

  • PR #14694: Updated curator5_version from 4.2.0 to 5.7.0. This update includes various bug fixes and improvements from the Apache Curator project, which is essential for ZooKeeper operations.

  • PR #14693: Bumped mustache.java compiler version from 0.9.10 to 0.9.14. This update likely includes bug fixes and new features from the Mustache templating engine.

  • PR #14692: Updated seata.version from 1.6.1 to 1.8.0, bringing in new features and bug fixes from the Seata distributed transaction solution.

Analysis of Themes

  1. Dependency Management: A significant number of PRs are focused on updating dependencies across various components of the Dubbo ecosystem. This reflects an active effort to keep the framework up-to-date with the latest versions of its dependencies, ensuring security, performance, and compatibility improvements.

  2. Feature Enhancements: PRs like #14702 demonstrate ongoing efforts to enhance existing features or add new capabilities to Dubbo, such as improved HTTP2 support.

  3. Community Contributions: The presence of contributions from various developers (e.g., dependabot[bot], Sean Yang) indicates a healthy community involvement in the project's development.

  4. Code Quality and Maintenance: Routine updates and optimizations (e.g., PRs related to dependency bumps) suggest a strong focus on maintaining code quality and addressing technical debt.

Analysis of Pull Requests

The analysis of PRs shows a well-maintained project with regular updates and enhancements driven by both core developers and community contributors. The focus on dependency management highlights the project's commitment to security and stability, while feature enhancements indicate an active development roadmap aimed at expanding Dubbo's capabilities.

Key Observations:

  • The frequent updates to dependencies like protobuf-java, curator, and others suggest that Dubbo is actively managed with attention to external libraries that impact its functionality.
  • Feature enhancements such as HTTP2 support configuration through Spring Boot integration show that Dubbo is evolving to meet modern web standards and developer expectations.
  • The variety of contributors, including automated tools like dependabot, points to an efficient workflow that encourages both automated maintenance tasks and community involvement in feature development.

Recommendations:

  1. Continuous Monitoring of Dependencies: Given the frequency of dependency updates, it would be beneficial to implement automated tools that can regularly check for outdated dependencies and create PRs for updates.

  2. Enhanced Documentation for New Features: As new features are added (e.g., HTTP2 max stream size configuration), ensuring that documentation is updated promptly will help users leverage these enhancements effectively.

  3. Community Engagement Initiatives: Encouraging more community contributions through hackathons or contribution days could further enhance the development pace and bring in diverse perspectives on feature enhancements.

  4. Performance Testing for New Features: With the addition of features like adaptive load balancing algorithms (as seen in PR #14420), it's crucial to have robust performance testing frameworks in place to evaluate the impact of these features on system performance under various load conditions.

In conclusion, Apache Dubbo's pull request activity reflects a dynamic project environment focused on continuous improvement, community engagement, and adherence to modern software development practices.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Recent Activities

  • Albumen Kevin (AlbumenJ)

    • Recent activity includes multiple merges and version bumps, notably to 3.3.1-SNAPSHOT and 3.2.17-SNAPSHOT.
    • Collaborated on resolving conflicts during merges from branches 3.2 and 3.3.
    • Implemented features like basic authentication support and refined logging for Dubbo 3.3.
    • Active in fixing bugs related to TCP connection window sizes and LRUCache issues.
  • co63oc

    • Fixed a bug in the TelnetUtils class, contributing to the overall stability of the project.
  • Liujunjie (JunJieLiu51520)

    • Worked on fixes regarding TCP connection window sizes, contributing to performance improvements.
  • dependabot[bot]

    • Actively updated dependencies across various modules, including Maven plugins and libraries like Nacos, Jetty, and Micrometer.
  • TomlongTK (finefuture)

    • Contributed fixes related to stream handling and refined exception processes in RPC protocols.
  • Ken Liu (chickenlj)

    • Focused on enhancing xDS resource management, including implementing new resource definitions and cleanup of existing code.
  • Sean Yang (oxsean)

    • Engaged in multiple bug fixes and optimizations, especially in REST protocol handling and performance tuning.
  • 王聪洋 (wcy666103)

    • Contributed to various enhancements and bug fixes related to service discovery and metadata management.

Patterns and Themes

  1. Version Management: A significant focus on managing versions with multiple bumps for both major releases (e.g., 3.3) and minor updates.

  2. Collaboration: Frequent collaboration among team members, particularly during merges from different branches, indicating a cohesive development effort.

  3. Bug Fixes: A consistent theme of addressing bugs related to performance (TCP connections), functionality (REST handling), and stability (LRUCache).

  4. Dependency Management: Heavy reliance on dependabot for keeping dependencies up-to-date, reflecting a proactive approach to security and compatibility.

  5. Feature Enhancements: Ongoing development of new features such as basic authentication support and xDS resource management, indicating an evolving framework that adapts to user needs.

Conclusions

The development team is actively engaged in maintaining and enhancing the Apache Dubbo framework through collaborative efforts, timely bug fixes, feature implementations, and diligent dependency management. The recent activities reflect a strong commitment to improving the framework's robustness while also preparing for future releases with significant updates.