The Data Transfer Project makes it easy for platforms to build interoperable user data portability features. We are establishing a common framework, including data models and protocols, to enable direct transfer of data both into and out of participating online service providers.
ImmutableMap is being used to log error cases during a transfer. Unfortunately said error cases are themselves obfuscated by a less interesting NullPointerException due to ImmutableMap receiving nulls.
ImmutableMap doesn't allow null values (see guava's issues 1782) but it's being passed an albumId sometimes set to null. This might be happening in multiple places but I've at least seen it in the primary download/upload loop (on line 588, before this change).
ImmutableMap is being used to log error cases during a transfer. Unfortunately said error cases are themselves obfuscated by a less interesting
NullPointerException
due to ImmutableMap receiving nulls.ImmutableMap doesn't allow null values (see guava's issues 1782) but it's being passed an
albumId
sometimes set to null. This might be happening in multiple places but I've at least seen it in the primary download/upload loop (on line 588, before this change).