[Soc-coordination] Second report: Debsources as a Platform
Clément Schreiner
clement at mux.me
Sun Jun 7 20:38:54 UTC 2015
Hi,
this is the second weekly report on my Summer of Code project 'Debsources
as a Platform'[1].
Previous report:
http://lists.alioth.debian.org/pipermail/soc-coordination/2015-May/002463.html
This week I continued working on designing the asynchronous architecture
the updater.
How to send SourcePackage to tasks
----------------------------------
We decided to create a python dictionary from the essential data in
SourcePackage and send that to the tasks, and I implemented that[2].
Prototype
---------
I then updated the skeleton of the new updater[3]; it will allow me to
experiment things when designing the architecture more thoroughly.
Graph of tasks
--------------
As the first step in designing the architecture of the new updater, I
made a graph of all the tasks[4][5] using graphviz.
------------
Next week[6]
------------
I haven't been able to finish the design this week, as I initially
planned, but the graph of tasks will help me. It will soon be time to
start working on the implementation, and the project should progress
faster then.
1. Problem: how should we handle the failure of a hook execution
In the current, synchronous implementation of the updater, the failure
of a hook (plugin) will trigger a session rollback, and the addition (or
removal) of the package from the DB will be started from the beginning
again. We can't do that in a distributed architecture (as far as I
know), and I need to figure out how it should be done.
2. write the specifications for the updater
3. implement the extract_new stage (without hooks)
4. implement the update_suites stage
5. implement the garbage_collector stage
6. implement the update_metadata stage
Thanks for reading,
Clément
[1]
[https://wiki.debian.org/SummerOfCode2015/StudentApplications/ClementSchreiner]
[2]
[https://github.com/clemux/debsources/commit/80903186ef65c39f07a6a1bff742076040f3817f]
[3]
[https://github.com/clemux/debsources/commit/beb2b23103ac013627185cbfc3cbd5362c5e0359]
[4] [https://github.com/Debian/debsources/pull/9]
[5] [http://www.mux.me/debsources/async_tasks.png]
[6] [https://trello.com/b/LG8eUfPS/debsources]
More information about the Soc-coordination
mailing list