diff options
Diffstat (limited to '30-qualitaetsheft/sections/problems.tex')
-rw-r--r-- | 30-qualitaetsheft/sections/problems.tex | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/30-qualitaetsheft/sections/problems.tex b/30-qualitaetsheft/sections/problems.tex new file mode 100644 index 0000000..fb5bdcb --- /dev/null +++ b/30-qualitaetsheft/sections/problems.tex @@ -0,0 +1,65 @@ +\section{Probleme} + +\vspace{-.2cm} +In diesem Kapitel wird näher auf die Probleme eingegangen, die sich ergeben +haben, aus welchem Grund sie sich ergeben haben und wie sie schließlich behoben +wurden. + +\vspace{-.2cm} +\subsection{Falsche Zeitangaben} + +\begin{description} + +\item[Beschreibung] Im Frontend wurden die Zeiten, wann eine +\Gls{podcast}episode zuletzt gehört wurde und wann ein \Gls{podcast} abonniert +worden ist, falsch angezeigt. Hierbei kann eine Aktion entweder zu weit in der +Vergangenheit oder sogar in der Zukunft liegen. +\item[Ursache] Die Bibliothek hat die Zeiten in der lokalen, statt der +universellen Zeit berechnet. Aufgrund der Differenz zwischen Zeitzonen kam es +hierbei zu größer werdenden Zeitabständen. +\item[Behebung] Die Bibliotheksfunktionen wurden so angepasst, dass sie die +Zeiten explizit nach der universellen Zeitzone (UTC) berechnet. + +\end{description} + + +\subsection{AntennaPod Fehlermeldung} + +\begin{description} + +\item[Beschreibung] Beim Hochladen von \Gls{abo}änderungen gab AntennaPod einen Fehler aus. +\item[Ursache] Es wurde bei der Übertragung ein Parameter mit falschem Parameternamen gesendet. +Hierbei handelt es sich um den Parameter \texttt{updateURLs}. +\item[Behebung] \texttt{updateURLs} wurde umbenannt zu +\texttt{update\textunderscore urls}. Die +geschah durch das Hinzufügen von \texttt{@JsonProperty(value = +''update\textunderscore urls'')} in der \texttt{UpdateURLsWrapper} Klasse im +\texttt{util} Paket. + +\end{description} + +\subsection{Doppelte Speicherung von EpisodeActions} + +\begin{description} + +\item[Beschreibung] Beim speichern von \Gls{episode}Actions ergab sich in +manchen Fällen die Situation, dass \Gls{episode}Actions mehrfach gespeichert +worden sind. Jede \Gls{episode} besitzt pro Benutzer eine \Gls{episode}Action. +In diesem Fall gab es mehrere \Gls{episode}Actions pro Benutzer für je eine +\Gls{episode}. +\item[Ursache] Es werden alle \Gls{episode}Actions in der \Gls{db} gespeichert, +die neuer als die aktuellste \Gls{episode}Action in der \Gls{db} sind. Nach +einem Speichervorgang sollte die ältere \Gls{episode}Action gelöscht werden. Da +\Gls{spring} jedoch aus Effizienzgründen nach diesem Schema mehrere Daten +sammelt und erst dann abspeichert, wird nur einer der älteren Einträge gelöscht. +Dadurch werden im Durchschnitt mehr \Gls{episode}Actions gespeichert, als +\Gls{episode}Actions entfernt werden. +\item[Behebung] Die empfangenen \Gls{episode}Actions werden vor dem Speichern in +der \Gls{db} bereits nach den jeweils aktuellsten \Gls{episode}Actions für eine +\Gls{episode} aussortiert. Damit wird letztlich nur eine \Gls{episode}Action in +die \Gls{db} geschrieben und auch nur eine ältere \Gls{episode}Action zu der +\Gls{episode} gelöscht, womit jede \Gls{episode} für jeden User weiterhin nur +eine \Gls{episode}Action besitzt. + +\end{description} + |