There is a couple of libraries available for asynchronous and non-blocking processing of HTTP requests (in Java) that can be used to avoid having threads waiting for responses in request intensive applications, for example:

The goal of this project is to get familiar with those libraries and integrate one of them with an existing HTTP client library eventually allowing for more performant and scalable applications.

The status after Hackweek 0x10 is that there is two big patches (pull requested) to bring the library more close to a 1.0.0 release:

  1. Major API cleanup
  2. Async and non-blocking HTTP backend

We could now take it from here and actually make the 1.0.0 release happening as well as an integration with Uyuni/SUSE Manager!

Looking for hackers with the skills:

http java async scalability performance susemanager salt library uyuni

This project is part of:

Hack Week 16

Activity

  • over 7 years ago: jochenbreuer liked this project.
  • over 7 years ago: j_renner added keyword "uyuni" to this project.
  • over 7 years ago: j_renner started this project.
  • over 7 years ago: j_renner left this project.
  • almost 8 years ago: mbologna liked this project.
  • almost 8 years ago: j_renner started this project.
  • almost 8 years ago: dmaiocchi liked this project.
  • almost 8 years ago: j_renner liked this project.
  • almost 8 years ago: j_renner added keyword "http" to this project.
  • almost 8 years ago: j_renner added keyword "java" to this project.
  • almost 8 years ago: j_renner added keyword "async" to this project.
  • almost 8 years ago: j_renner added keyword "scalability" to this project.
  • almost 8 years ago: j_renner added keyword "performance" to this project.
  • almost 8 years ago: j_renner added keyword "susemanager" to this project.
  • almost 8 years ago: j_renner added keyword "salt" to this project.
  • almost 8 years ago: j_renner added keyword "library" to this project.
  • almost 8 years ago: j_renner originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    pudc - A PID 1 process that barks to the internet by mssola

    Description

    As a fun exercise in order to dig deeper into the Linux kernel, its interfaces, the RISC-V architecture, and all the dragons in between; I'm building a blog site cooked like this:

    • The backend is written in a mixture of C and RISC-V assembly.
    • The backend is actually PID1 (for real, not within a container).
    • We poll and parse incoming HTTP requests ourselves.
    • The frontend is a mere HTML page with htmx.

    The project is meant to be Linux-specific, so I'm going to use io_uring, pidfs, namespaces, and Linux-specific features in order to drive all of this.

    I'm open for suggestions and so on, but this is meant to be a solo project, as this is more of a learning exercise for me than anything else.

    Goals

    • Have a better understanding of different Linux features from user space down to the kernel internals.
    • Most importantly: have fun.

    Resources


    Move Uyuni Test Framework from Selenium to Playwright + AI by oscar-barrios

    Description

    This project aims to migrate the existing Uyuni Test Framework from Selenium to Playwright. The move will improve the stability, speed, and maintainability of our end-to-end tests by leveraging Playwright's modern features. We'll be rewriting the current Selenium code in Ruby to Playwright code in TypeScript, which includes updating the test framework runner, step definitions, and configurations. This is also necessary because we're moving from Cucumber Ruby to CucumberJS.

    If you're still curious about the AI in the title, it was just a way to grab your attention. Thanks for your understanding.


    Goals

    • Migrate Core tests including Onboarding of clients
    • Improve test reliabillity: Measure and confirm a significant reduction of flakynes.
    • Implement a robust framework: Establish a well-structured and reusable Playwright test framework using the CucumberJS

    Resources


    Flaky Tests AI Finder for Uyuni and MLM Test Suites by oscar-barrios

    Description

    Our current Grafana dashboards provide a great overview of test suite health, including a panel for "Top failed tests." However, identifying which of these failures are due to legitimate bugs versus intermittent "flaky tests" is a manual, time-consuming process. These flaky tests erode trust in our test suites and slow down development.

    This project aims to build a simple but powerful Python script that automates flaky test detection. The script will directly query our Prometheus instance for the historical data of each failed test, using the jenkins_build_test_case_failure_age metric. It will then format this data and send it to the Gemini API with a carefully crafted prompt, asking it to identify which tests show a flaky pattern.

    The final output will be a clean JSON list of the most probable flaky tests, which can then be used to populate a new "Top Flaky Tests" panel in our existing Grafana test suite dashboard.

    Goals

    By the end of Hack Week, we aim to have a single, working Python script that:

    1. Connects to Prometheus and executes a query to fetch detailed test failure history.
    2. Processes the raw data into a format suitable for the Gemini API.
    3. Successfully calls the Gemini API with the data and a clear prompt.
    4. Parses the AI's response to extract a simple list of flaky tests.
    5. Saves the list to a JSON file that can be displayed in Grafana.
    6. New panel in our Dashboard listing the Flaky tests

    Resources