In 20.2.1, Data Aggregator moved to using PollableAttrs to store the Vendor Certification to use and Index to poll. This was part of new feature to allow Metric Family item consolidation.
As part of 20.2.x upgrade, DA will read the current device components attributes for VC and Index, and write the new attributes to PollableAttrs facet.
If this doesn't happen successfully, users may see:
Exception is something like:
2020-08-12 10:17:19,6152020-08-12 10:17:19,615 | ERROR | ExceptionLog | A NEW application exception occurred (Key=3099f42881c0ef0b
107d279418e4a917f68761bf) : java.lang.NullPointerException | (ExceptionLogger.java:99)
java.lang.NullPointerException
at java.lang.reflect.Array.set(Native Method)[:1.8.0_222]
at com.ca.im.item.impl.repository.AppendIfAbsentWriteRequest.getModifiedIncomingValue(AppendIfAbsentWriteRequest.java:59)[
204:com.ca.im.item-repository.impl:20.2.2.RELEASE-317]
at com.ca.im.item.impl.repository.WriteRequest.process(WriteRequest.java:282)[204:com.ca.im.item-repository.impl:20.2.2.RE
LEASE-317]
at com.ca.im.item.impl.repository.GroupWriteRequest.process(GroupWriteRequest.java:80)[204:com.ca.im.item-repository.impl:
20.2.2.RELEASE-317]
at com.ca.im.item.impl.repository.WriteRequest.verifyAndProcess(WriteRequest.java:257)[204:com.ca.im.item-repository.impl:
20.2.2.RELEASE-317]
at com.ca.im.item.impl.repository.AttributeOperations.processItemWriteRequest(AttributeOperations.java:1154)[204:com.ca.im
.item-repository.impl:20.2.2.RELEASE-317]
at com.ca.im.item.impl.repository.AttributeOperations.writeAttributes(AttributeOperations.java:1010)[204:com.ca.im.item-re
pository.impl:20.2.2.RELEASE-317]
at com.ca.im.item.impl.repository.ItemRepositoryImpl.writeAttributes(ItemRepositoryImpl.java:1504)[204:com.ca.im.item-repo
sitory.impl:20.2.2.RELEASE-317]
at com.ca.im.item.impl.repository.TenantItemRepository.writeAttributes(TenantItemRepository.java:355)[204:com.ca.im.item-r
epository.impl:20.2.2.RELEASE-317]
at com.ca.im.tm.reconciliation.impl.AbstractReconciler.detectChangedAttrs(AbstractReconciler.java:530)[233:com.ca.im.aggre
gator.discovery:20.2.2.RELEASE-317]
at com.ca.im.tm.reconciliation.impl.AbstractReconciler.findChanges(AbstractReconciler.java:517)[233:com.ca.im.aggregator.d
iscovery:20.2.2.RELEASE-317]
at com.ca.im.tm.reconciliation.impl.AbstractReconciler.findChangedItems(AbstractReconciler.java:475)[233:com.ca.im.aggrega
tor.discovery:20.2.2.RELEASE-317]
at com.ca.im.tm.component.discovery.impl.ComponentCreatorOnReadListener.doLocalReconciliation(ComponentCreatorOnReadListen
er.java:496)[233:com.ca.im.aggregator.discovery:20.2.2.RELEASE-317]
at com.ca.im.tm.component.discovery.impl.ComponentCreatorOnReadListener.reconcileItems(ComponentCreatorOnReadListener.java
:383)[233:com.ca.im.aggregator.discovery:20.2.2.RELEASE-317]
at com.ca.im.tm.component.discovery.impl.ComponentCreatorOnReadListener.onReadComplete(ComponentCreatorOnReadListener.java
:154)[233:com.ca.im.aggregator.discovery:20.2.2.RELEASE-317]
at com.ca.im.item.impl.repository.DelegatingAttributeReadListener.notifyAttributeReadListener(DelegatingAttributeReadListe
ner.java:282)[204:com.ca.im.item-repository.impl:20.2.2.RELEASE-317]
at com.ca.im.item.impl.repository.DelegatingAttributeReadListener.processSourceResponse(DelegatingAttributeReadListener.ja
va:103)[204:com.ca.im.item-repository.impl:20.2.2.RELEASE-317]
at com.ca.im.item.impl.repository.DelegatingAttributeReadListener.onReadComplete(DelegatingAttributeReadListener.java:58)[
204:com.ca.im.item-repository.impl:20.2.2.RELEASE-317]
at com.ca.im.dm.normalizer.impl.RawAttributeReadListener.onReadComplete(RawAttributeReadListener.java:308)[233:com.ca.im.a
ggregator.discovery:20.2.2.RELEASE-317]
Also, if the DA karaf.log(s) in /opt/IMDataAggregator/apache-karaf-x.x.x/data/log/ haven't rolled too much, you can check for this message to see if there were any errors during migration.
Start the migration of <count> devices.
Then search for:
Error occurred while migrating PCC of device: <itemid>
<Exception printed here>
Upgrade from 3.x to 20.2.1+
Workaround:
1. Do a GET of http://DAHOST:8581/rest/discoverydefaultconfig to find item id.
2. Do a PUT to <http://DAHOST:8581/rest/discoverydefaultconfig/<ID>> with body:
<DiscoveryDefaultConfig version="1.0.0">
<PollableAttrMigrated>false</PollableAttrMigrated>
</DiscoveryDefaultConfig>
3. Restart the DA to get it to re-migrate the devices.
4. Run update MF on affected devices.