Closed johannesduesing closed 3 years ago
Kudos, SonarCloud Quality Gate passed!
0 Bugs
0 Vulnerabilities (and 0 Security Hotspots to review)
0 Code Smells
No Coverage information
0.0% Duplication
Closed as this functionality is now part of the redesign proposed in #50
Reason for this PR As decribed in #31, the Delphi Crawler does not keep track of any errors that may occur during processing of artifacts. If for example the JAR download fails for any reason, the respective artifact will not be stored in the ElasticSearch index, and there is no way of retrying the download at a later point in time.
Changes in this PR (changes relative to #47, needs to be merged first!) The
MavenDiscoveryProcess
now accounts for different types of processing errors. These errors are caught and redirected to a dedicated actor, which stores them as a new mapping type (MavenProcessingError
) in the existing ElasticSearch index nameddelphi
. The initial database setup has been adapted so that the new mapping type is created on startup (for fresh DB instances only!). AMavenProcessingError
has four properties:type
: EitherPomDownloadFailed
,JarDownloadFailed
,PomParsingFailed
orHermesProcessingFailed
(It must be noted that, unlike in previous versions of the crawler, a failed JAR download is no longer an error if the POM file'spackaging
attribute is not set tojar
)occurred
: Datetime at which the error occurredidentifier
: Maven identifier referencing the artifact for which the error occurredmessage
: An error message that describes the error causeCloses #31.
Sample ElasticSearch Request
GET <elasticsearch>/delphi/error/_search