Recent changes to store the product name directly with pools introduced a bug where personal pools start showing up with a product name set to the products ID. Caused by this constructor: public Pool(Owner ownerIn, String productId, String productName, Set<ProvidedProduct> providedProducts, Long quantityIn, Date startDateIn, Date endDateIn, String contractNumber, String accountNumber) { and this call in PostEntHelper.createUserRestrictedPool: Pool consumerSpecificPool = new Pool(c.getOwner(), productId, providedProductCopies, q, ent.getPool().getStartDate(), ent.getPool().getEndDate(), ent.getPool().getContractNumber(), ent.getPool().getAccountNumber()); You can see no product name is specified despite the constructor signature. Java appears to be getting confused and happily treating the first element in the provided products list as the product name. Steps to Reproduce: 1. Complete normal process for creating a user restricted (personal) pool. Actual results: New pool will show up with a product ID instead of a name. Expected results: Name.
Fixed in f665e28f34f4831db1aeac863720f00abbc39fc3 This will require a new build of candlepin in the IT environment, and will require that all sub pools be re-created. If you unregister the person and re-register that should work.
Verified in duplicate defect: https://bugzilla.redhat.com/show_bug.cgi?id=670344#c2