*/
public void indexSupplement(SlobId udwId)
throws PermanentFailure, RetryableFailure, WaveletLockedException {
log.info("Indexing conversation for participant with udwId " + udwId);
StateAndVersion raw;
SlobId convId;
StableUserId udwOwner;
CheckedTransaction tx = datastore.beginTransaction();
try {
MutationLog l = udwStore.create(tx, udwId);
ObsoleteWaveletMetadataGsonImpl metadata;
String metadataString = l.getMetadata();
try {
metadata = GsonProto.fromGson(new ObsoleteWaveletMetadataGsonImpl(), metadataString);
} catch (MessageException e) {
throw new RuntimeException("Failed to parse obsolete metadata: " + metadataString);
}
Assert.check(metadata.hasUdwMetadata(), "Metadata not udw: %s, %s", udwId, metadataString);
convId = new SlobId(metadata.getUdwMetadata().getAssociatedConvId());
udwOwner = new StableUserId(metadata.getUdwMetadata().getOwner());
raw = l.reconstruct(null);
} finally {
tx.rollback();
}