bloggers bloggers

Marco Napolitano
Messaggi: 68
Stelle: 0
Data: 15/11/17
Jader Jed Francia
Messaggi: 50
Stelle: 0
Data: 22/09/17
Ezio Lombardi
Messaggi: 9
Stelle: 0
Data: 23/06/17
Chiara Mambretti
Messaggi: 25
Stelle: 0
Data: 27/02/17
Serena Traversi
Messaggi: 3
Stelle: 0
Data: 21/07/16
Francesco Falanga
Messaggi: 8
Stelle: 0
Data: 14/06/16
Antonio Musarra
Messaggi: 2
Stelle: 0
Data: 18/11/13
Simone Celli Marchi
Messaggi: 6
Stelle: 0
Data: 09/07/13
marcello marangio
Messaggi: 4
Stelle: 0
Data: 05/07/13
Marco Mancini
Messaggi: 1
Stelle: 0
Data: 05/06/13
Indietro

Sbloccare l'importazione di un LAR su Liferay 6.2

Recentemente mi è capitato di dover configurare un'installazione di Liferay 6.2CE mediante il classico meccanismo dei LAR, leggermente rivisitato e migliorato in questa nuova versione del portale.

Liferay 6.2 introduce infatti il concetto di BackgroundTask, ossia di un processo svincolato dall'interfaccia utente che esegue l'importazione, appunto, in background; in questo modo è possibile avviare l'importazione e poter utilizzare il portale immediatamente mentre il processo elabora.

Questo meccanismo introduce anche una precedenza tra i processi da eseguire: nuovi processi vengono accodati in caso di un'esecuzione già in corso e vengono poi eseguiti in modalità FIFO.

Per garantire il funzionamento di tutto, Liferay scrive alcuni record nelle sue tabelle... e qui nasce il problema che mi si è presentato.

Durante l'importazione del mio LAR, qualcosa è andato storto e dopo più di 2 ore di attesa ancora il processo non era terminato; non avendo ricevuto alcun messaggio di errore o di warning e non vedendo alcun nuovo record nel database, ho deciso di riavviare il portale per tentare una nuova importazione.

Al successivo tentativo di importazione, il processo è stato subito accodato in quanto il sistema vedeva ancora il vecchio processo in esecuzione; evidentemente era rimasto scritto qualcosa in qualche tabella. Ho così annullato l'importazione e mi sono messo a cercare.

Non mi ci è voluto molto a trovare il record del vecchio processo all'interno della tabellabackgroundtask ed ho potuto così cancellarlo a mano e riavviare il portale.

Al successivo tentativo di importazione, il vecchio processo non era effettivamente più in elenco! Peccato che il nuovo processo venisse sempre e comunque accodato...

Dopo un'altra intensa sessione di debug ho trovato dov'era il blocco: c'era un altro record all'interno della tabella lock, che ho prontamente rimosso e tutto si è risolto.

Ricapitolando:

  1. non riavviate il server durante l'importazione di un LAR
  2. ma se proprio dovete farlo e poi vi si blocca tutto:
    1. controllate la tabella backgroundtask
    2. controllate la tabella lock
Precedente
Commenti
Nessun commento. Vuoi essere il primo.