… for overlapping repository tasks
Because Nexus actually cannot have (cannot be brought in a state by any means to have) cycles, and these messages are actually only about doubled-processing of same repository while traversing the request from a group (and groups of groups) recursively. Presence of these repositories are still considered bad! But, due to bug NXCM-3869 it we are actually the ones (staging promotion more precisely) who are introducing these "double members", so putting the level to DEBUG is fine for now, anyone using promotion would have them anyway.
Culprit was HttpClientProxyUtil that was "touching" RemoteStorageContext on every invocation. This was not an issue so far, since these calls happened only from RemoteRepositoryStorages. But in a moment any "third party" component -- not participating in RRS -- does the same, it causes all of RSS to detect as "settings changed" and reconfigure their underlying transport. Also, AHC provider modified to make use of newly introduced events (thanks to Bentmann) Added Javadocs to the two related events.
* New Jackson based marshallers did not properly honor parsing problems (hence, Nexus was not recreating attributes but was choking on them) * Marshallers are not components anymore, just simple classes created when needed * XStream marshaller deprecated with a message pointing to JacksonJSON one * improved robustness (null-checks) and logging of AttributeStorages
It happened to me on local full builds, that this IT got "stuck" and was restarting Nexus over and over again. If you take a peek at sources, you will see it will restart Nexus as many times as the number of "cfs" Lucene segments grow over 7. After stopping build and inspecting workdir, I realized that in my case, Timeline has almost 20 files, but only 3 of them had "cfs" extension. This fix simply makes "easier" to corrupt Timeline Lucene index (this is what IT actually tests, Nexus recovering from corrupted timeline) by taking in account any Lucene segment file _except_ the segment index (that causes other problem then index corruption)