quinta-feira, 8 de novembro de 2012

JON - Falha com Bundle

SINTOMA

Erro ao abrir a página do bundle no JON 'Failed to load bundle with the latest version data'.

PROBLEMA

Isto ocorre em função das versões excluídas das aplicações, ou seja, uma subquery retorna mais de uma linha, vide abaixo: 

 ERRO

more than one row returned by a subquery used as an expression 

 REPRODUÇÃO

Na KB da RedHat(https://access.redhat.com/knowledge/solutions/133893) mencionam que o erro ocorre somente para a coluna 'version', mas ocorre também se existe o mesmo valor, a mesma aplicação(name), no 'version_order', exemplo abaixo: 

 rhq=# SELECT * FROM rhq_bundle_version WHERE name LIKE 'manager' AND version_order=3 ORDER BY name; 

 id | name | description | version | version_order | action | config_def_id | bundle_id 
 -------+--------------+-------------+---------+---------------+------------------------------------------------------------------------------+---------------+---------- - 
 10882 | manager | Manager | 1.0i | 3 | | 11632 | 10131 : : : : : : : : : : : : : : : Deploying Test Bundle v1.0i to ${rhq.deploy.dir}... : : : : Done deploying Test Bundle v1.0i to ${rhq.deploy.dir}. : :
12213 | manager | Manager | 1.1b | 3 | | 12963 | 10131 : : : : : : : : : : : : : : : Deploying Test Bundle v1.1b to ${rhq.deploy.dir}... : : : : Done deploying Test Bundle v1.1b to ${rhq.deploy.dir}. : :

(2 rows) 

 SOLUÇÃO: Remover ou alterar o valor de uma das version_order duplicadas para a mesma aplicação, seja via JON ou via SQL.