IpInfo*Resolver classes only handle a specific set of exception types. Unknown exceptions bubble up, leading to processing failure.
Extend exception handling to cover all types of exceptions.
Description
When an IP address cannot be resolved against the IPInfo DB, we may receive a com.maxmind.db.DeserializationException from IPinfoIPLocationDatabaseAdapter.
This may occur in 2 places:
MaxmindDataAdapter: this class handles any exceptions in lookup.
IpInfoIpAsnResolver and IpInfoLocationResolver: these classes only handle a subset of exception types, resulting in an unexpected exception and failure to process messages when an unknown exception is encountered.
Motivation and Context
This affects all versions that support IPInfo DBs, i.e. 5.1 and up.
Types of changes
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Refactoring (non-breaking change)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
Checklist:
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
Resolves Graylog2/graylog-plugin-enterprise#7602
IpInfo*Resolver
classes only handle a specific set of exception types. Unknown exceptions bubble up, leading to processing failure. Extend exception handling to cover all types of exceptions.Description
When an IP address cannot be resolved against the IPInfo DB, we may receive a
com.maxmind.db.DeserializationException
fromIPinfoIPLocationDatabaseAdapter
. This may occur in 2 places:MaxmindDataAdapter
: this class handles any exceptions in lookup.IpInfoIpAsnResolver
andIpInfoLocationResolver
: these classes only handle a subset of exception types, resulting in an unexpected exception and failure to process messages when an unknown exception is encountered.Motivation and Context
This affects all versions that support IPInfo DBs, i.e. 5.1 and up.
Types of changes
Checklist: