61 lines
3 KiB
ReStructuredText
61 lines
3 KiB
ReStructuredText
.. _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.
|
|
|
|
|