Hi I agree mixing build time and render time tags in that way could cause problems like the one described.
I can confirm there was a change on the id generation, see: https://issues.apache.org/jira/browse/MYFACES-3329 https://issues.apache.org/jira/browse/MYFACES-3330 https://issues.apache.org/jira/browse/MYFACES-3331 By multiple reasons described on those issues, the change is valid and strongly necessary. The snippet provided reveals in that part an EL expression is used to calculate the id: <p:column id="expenses_table_device_column#{expensesPage.fixStatisticsDateDate(unitOfTime)}" sortBy="SomeValue"> Facelets algorithm uses internally other id (ComponentSupport.MARK_CREATED), It is probably the problem starts here. Maybe the id is changed in some part and does not match the component correctly like ComponentSupport.MARK_CREATED, causing the duplicate id exception. Anyway, there are other ways to do what you want, and use that snippet is not advisable. regards, Leonardo Uribe

