Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(report): Support SPDX 3.0 Reports Week1,2,3,4,5 #243

Closed
wants to merge 14 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/2024/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ More info to come here.
| :--------------------------------------------------- | :----------------------------------------------------------- |
| [Aaditya Singh](https://github.com/aadsingh) | [Overhaul Scheduler Design](/docs/2024/scheduler) |
| [Abdelrahman Jamal](https://github.com/Hero2323) | [AI Powered License Detection](/docs/2024/license-detection) |
| [Abhishek Kumar](https://github.com/abhi-kumar17871) | [SPDX 3.0 Support](/docs/2024/spdx30) |
| [Abhishek Kumar](https://github.com/abhi-kumar17871) | [Support SPDX 3.0 Reports](/docs/2024/spdx30) |
| [Akash Sah](https://github.com/AkashSah2003) | [SPDX License Expression](/docs/2024/spdx-expression) |
| [Divij Sharma](https://github.com/dvjsharma) | [REST API Improvements](/docs/2024/rest) |
| [Rajul Jha](https://github.com/rajuljha) | [Improving CI Scanner](/docs/2024/ci-scanner) |
Expand Down
Binary file added docs/2024/scheduler/asset/set_priority.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 29 additions & 0 deletions docs/2024/scheduler/updates/Discussion/2024-06-14.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
title: week-06
author: Aaditya Singh
---
<!--
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2024 Aditya Singh <singh.aaditya889@gmail.com>
-->
# Meeting 10
*(June 14, 2024)*

## Participants:
- [Gaurav Mishra](https://github.com/GMishx)
- [Aaditya Singh](https://github.com/Aaditya-Singh78)

## Discussion Topics:

**Contributor:**
- [Aaditya Singh](https://github.com/Aaditya-Singh78): Could you provide more details on the ER diagram? I need to know the specific parameters to integrate into the code.

**Mentor:**
- [Gaurav Mishra](https://github.com/GMishx): Let's discuss the data within the database and the essential criteria to consider when operating the scheduler:

1. Certain agents like delagent and software heritage must operate singularly due to their time-intensive nature, affecting users who need to run multiple agents.

2. Some agents depend on external APIs with rate limits. Surpassing these limits could lead to access restrictions or complete blocks on agent processing.

3. A maintenance agent exists to support our website, focusing on dependency resolutions and performance enhancements.

4. Ensure responsiveness is a priority—analysis for users who request first should be completed first.
59 changes: 59 additions & 0 deletions docs/2024/scheduler/updates/Discussion/2024-06-21.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
title: week-07
author: Aaditya Singh
---
<!--
SPDX-License-Identifier: CC-BY-SA-4.0

SPDX-FileCopyrightText: 2024 Aditya Singh <singh.aaditya889@gmail.com>
-->
---

# Meeting 14
*(June 21,2024)*

## Participants

### Mentors

- [Katharina Ettinger](https://github.com/EttingerK)
- [Shaheem Azmal M MD](https://github.com/shaheemazmalmmd)
- [Kaushlendra Pratap](https://github.com/Kaushl2208)
- [Gaurav Mishra](https://github.com/GMishx)

### Contributors

- [Aaditya Singh](https://github.com/Aaditya-Singh78)

## Discussion:

**Contributor:**

- [Aaditya Singh](https://github.com/Aaditya-Singh78): Presented a thorough analysis of a use case, identifying several important aspects:
1. Clear separation of dependent and independent job queues.
2. Implementation of a rate limiter using a sliding window log.
3. Application of semaphores for queue synchronization.
4. Integration of feedback through *[Telegraf](https://www.influxdata.com/time-series-platform/telegraf/)*.

![golang_architecture](../../asset/golang_arch.png)

> ⚠️ In the diagram above, mutexes and channels for synchronization haven't been considered yet. Introducing single semaphore into the diagram might undermine the goal of achieving parallelism in extreme situations.


- [Aaditya Singh](https://github.com/Aaditya-Singh78): Concluded that the architecture faces several challenges:
1. Potential deadlocks from using multiple semaphores.
2. Limitations of using a single semaphore under certain conditions affecting multiprogramming.
3. The need for a load balancer to prioritize users based on their analysis needs or project size.
4. Establishment of a heartbeat mechanism to monitor system performance.

**Mentors**:

- [Kaushlendra Pratap](https://github.com/Kaushl2208): Discussed the potential deadlock issues with the use of multiple semaphores.

- [Gaurav Mishra](https://github.com/GMishx): Suggested the implementation of a heartbeat system, possibly through Grafana, to oversee system health.

- [Katharina Ettinger](https://github.com/EttingerK): Asked about the scalability of the current approach given the project size and complexity.

- [Shaheem Azmal M MD](https://github.com/shaheemazmalmmd): Proposed integrating a priority mechanism within the dependent queue to optimize processing time for smaller or less complex projects.

>ℹ️: Additional studies and enhancements are considered for these areas.
80 changes: 80 additions & 0 deletions docs/2024/scheduler/updates/Discussion/2024-06-28.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
title: week-08
author: Aaditya Singh
---
<!--
SPDX-License-Identifier: CC-BY-SA-4.0

SPDX-FileCopyrightText: 2024 Aditya Singh <singh.aaditya889@gmail.com>
-->

# Meeting 16
*(June 28,2024)*

## Attendees:

- [Katharina Ettinger](https://github.com/EttingerK)

- [Shaheem Azmal M MD](https://github.com/shaheemazmalmmd)

- [Avinal Kumar](https://github.com/avinal)

- [Aaditya Singh](https://github.com/Aaditya-Singh78)


## Discussion:

- [Aaditya Singh](https://github.com/Aaditya-Singh78):

Shared the updated architecture of the Scheduler via this link for team review:
<!-- change it! -->
[Scheduler Architecture](../../asset/golang_arch.png)

Detailed enhancements to overcome specific challenges:
1. Deadlock handling through channels facilitating communication between two semaphores, intended to transmit data structures, ideally integers representing user IDs or group IDs.
2. Addressing race conditions among go-routines.
3. Implementing a heartbeat mechanism between go-routines and a load balancer, utilizing channels to check the state of go-routines, returning a boolean value to minimize overhead in frequent signaling.

- [Shaheem Azmal M MD](https://github.com/shaheemazmalmmd): Emphasized the importance of package size as a critical parameter in Fossology, suggesting communication to users about partitioning large packages or providing a UI page for package size-related settings.

[Admin Scheduler](../../asset/set_priority.png)


- [Katharina Ettinger](https://github.com/EttingerK): Questioned the criteria for determining whether packages are of larger or smaller size before processing begins.

- [Shaheem Azmal M MD](https://github.com/shaheemazmalmmd): Clarified that the `Unpackage` agent determines the package size, stating that the current setup looks promising and encouraged starting coding for further enhancements.

- [Katharina Ettinger](https://github.com/EttingerK): Inquired about the possibility of pausing smaller packages as a form of context switching.

- [Aaditya Singh](https://github.com/Aaditya-Singh78): Noted that context switching is currently handled under go-routines, which are synchronized per user, making pausing not feasible at the moment.

- [Shaheem Azmal M MD](https://github.com/shaheemazmalmmd): Suggested the development of a web page to make informed decisions based on package size.

- [Avinal Kumar](https://github.com/avinal): Complimented the improvements from the previous version and recommended proceeding with coding.



























42 changes: 42 additions & 0 deletions docs/2024/scheduler/updates/Discussion/2024-07-05.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: week-09
author: Aaditya Singh
---
<!--
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2024 Aditya Singh <singh.aaditya889@gmail.com>
-->
---

# Meeting 16
*(July 05, 2024)*

## Attendees

**Mentors:**

- [Katharina Ettinger](https://github.com/EttingerK)
- [Shaheem Azmal M MD](https://github.com/shaheemazmalmmd)
- [Kaushlendra Pratap](https://github.com/Kaushl2208)
- [Avinal Kumar](https://github.com/avinal)

**Contributors:**

- [Aaditya Singh](https://github.com/Aaditya-Singh78)

## Discussions:

**Contributors:**

- [Aaditya Singh](https://github.com/Aaditya-Singh78): Focused on developing code through database integration and organizing the structure based on the hexagonal architecture to prevent circular dependencies and separate logic. Additionally, raised a question regarding the `sqlstatements.h` file.

**Mentors:**

- [Shaheem Azmal M MD](https://github.com/shaheemazmalmmd): Clarified queries about the operations of the `sqlstatements.h` file, discussing the ER diagram of the table and how it interacts with user actions.

- [Avinal Kumar](https://github.com/avinal): Recommended combining commands in `cmake` as follows:
```
custom_Target:
custom_command: ()
```
Recommended reviewing the [go-cmake](https://github.com/mutse/go-cmake) repository for additional insights.
4 changes: 4 additions & 0 deletions docs/2024/scheduler/updates/Discussion/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"label": "Discussion",
"position": 4
}
101 changes: 101 additions & 0 deletions docs/2024/scheduler/updates/General/2024-06-13.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
title: week-06
author: Aaditya Singh
---
<!--
SPDX-License-Identifier: CC-BY-SA-4.0

SPDX-FileCopyrightText: 2024 Aditya Singh <singh.aaditya889@gmail.com>
-->

# Meeting 09
*(June 13, 2024)*

## Attendees:

- [Gaurav Mishra](https://github.com/GMishx)

- [Shaheem Azmal M MD](https://github.com/shaheemazmalmmd)

- [Kaushlendra Pratap](https://github.com/Kaushl2208)

- [Ayush Bhardwaj](https://github.com/hastagAB)

- [Abdelrahman Jamal](https://github.com/Hero2323)

- [Aaditya Singh](https://github.com/Aaditya-Singh78)

- [Akash Sah](https://github.com/Akashsah2003)

- [Divij Sharma](https://github.com/dvjsharma)

- [Rajul Jha](https://github.com/rajuljha)

- [Avinal Kumar](https://github.com/avinal)

## Absentees:

- [Katharina Ettinger](https://github.com/EttingerK)

- [Samuel Dushimimana](https://github.com/dushimsam)

- [Soham Banerjee](https://github.com/soham4abc)

- [Shreya Singh](https://github.com/SinghShreya05)

- [Abhishek Kumar](https://github.com/abhi-kumar17871)

- [Valens Niyonsenga](https://github.com/valens200)

- [Anupam Ghosh](https://github.com/ag4ums)

- [Sahil Jha](mailto:sjha200000@gmail.com)

- [Vasudev Maduri](https://github.com/vasudevmaduri)

- [Shreya Gautam](https://github.com/ShreyaGautamm)

## General Discussion

**Mentor:**
- [Gaurav Mishra](https://github.com/GMishx): Provided project updates.

**Contributors:**

- [Abdelrahman Jamal](https://github.com/Hero2323)

- Conducted tests with different models using Semantic Search for similarity matches.

- Tested semantic transformers and worked on a basic license identifier.

- [Shreya Gautam](https://github.com/ShreyaGautamm)

- Was absent.

- [Aaditya Singh](https://github.com/Aaditya-Singh78)

- Following my last conversation with mentors, began rewriting scheduler code from C to Go. Submitted a pull request for the same.

- Focused on implementing a queue and working on CLI code.

- [Abhishek Kumar](https://github.com/abhi-kumar17871)

- Developed SPDX 3.0 JSON format, exploring validation of generated reports. Plans to start on RDF report soon.

- [Akash Sah](https://github.com/Akashsah2003)

- Per discussions with mentors, utilized JSON format to convert license expressions and store them in a database (successful).

- Developed a user interface for the same and is now adding comments, acknowledgments, and text for license expressions.

- [Divij Sharma](https://github.com/dvjsharma)

- Completed OAUTH implementation via API. Currently transitioning API from V1 to V2.

- [Rajul Jha](https://github.com/rajuljha)

- Focused on adding line number support for repo scans. Next, will work on nomos and ojo components.

- [Valens Niyonsenga](https://github.com/valens200)

- Implemented unit test cases for APIs such as License, Group, and Upload. Submitted a pull request for the same.
Loading