53 lines
3.1 KiB
ReStructuredText
53 lines
3.1 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.
|