| |
@@ -0,0 +1,61 @@
|
| |
+ .. _creation_fail:
|
| |
+
|
| |
+ Why does the existing solution not work?
|
| |
+ ====
|
| |
+
|
| |
+ The existing solution does not work anymore and necessitates the need of a new
|
| |
+ solution because of the following reasons.
|
| |
+
|
| |
+ Internal reasons
|
| |
+ ----
|
| |
+
|
| |
+ The existing solution does not work anymore because of the following reasons
|
| |
+ pertaining to the system itself.
|
| |
+
|
| |
+ 1. Retrieval of a filtered list of human-only usernames from FASJSON service is
|
| |
+ a performance intensive process and time consuming process both at the
|
| |
+ serving and the receiving end. Having the service unit to fetch the list of
|
| |
+ all usernames not only delivers penalty to the performance of the service
|
| |
+ unit itself but also harms the experience of those using FASJSON service at
|
| |
+ their ends. This can lead to severely unintended consequences such as
|
| |
+ causing an unplanned downtime at the serving end, hogging up the reources
|
| |
+ due to the contigious nature of the request and deteriorating the quality of
|
| |
+ service for other FASJSON users.
|
| |
+
|
| |
+ 2. Obtaining a moderated list of active human-only usernames from Datagrepper
|
| |
+ is also a performance intensive and time consuming process both at the
|
| |
+ serving and the receiving end. While running this service unit does not
|
| |
+ deteriorate the quality of service of Datagrepper for other users, the
|
| |
+ process is very slow as the Datagrepper service has to further interact with
|
| |
+ the Datanommer database in order to be able to compute the request and fetch
|
| |
+ the requested information elements. As a consequence, the service unit
|
| |
+ runtime is very long and can be incredibly dependent on the network
|
| |
+ performance of the client machine.
|
| |
+
|
| |
+ 3. Having too many entities in the system not only makes it complicated but it
|
| |
+ also brings in the added risks of failure and cost in time and effort
|
| |
+ required to connect these entities with each other in the form of processes.
|
| |
+ For instance, the service unit for fetching all the usernames from FASJSON
|
| |
+ takes more than 90-120 minutes in one run and that for fetching all the
|
| |
+ active usernames from Datagrepper takes more than 330-360 minutes in one
|
| |
+ run. This severely restricts the opportunities for development of new
|
| |
+ features and quality-of-life updates as the testing workflow could end up
|
| |
+ easily taking a lot of time and resources.
|
| |
+
|
| |
+ External reasons
|
| |
+ ----
|
| |
+
|
| |
+ An new and improved solution is made necessary because of the following reasons
|
| |
+ pertaining to the external entities.
|
| |
+
|
| |
+ 1. In the wake of increased requirements from the stakeholders, the scope of
|
| |
+ the tool widened drastically to a point that the existing solution could not
|
| |
+ be extended to address the newer needs. While the design ideas and the
|
| |
+ processes could be followed from the existing solution, the improved
|
| |
+ solution was required to be developed to ensure it could handle larger data
|
| |
+ elements, compute them to find out statistics about human-only users, amount
|
| |
+ for multiple services that publish messages on the Fedora Messaging bus and
|
| |
+ generate contribution statistics effectively. Therefore, an initiative was
|
| |
+ proposed to better facilitate these needs.
|
| |
+
|
| |
+
|
| |
Signed-off-by: Akashdeep Dhar akashdeep.dhar@gmail.com