Data Virtualization La mise à niveau de l'instance échoue et revient à l'ancienne version

Data Virtualization La mise à niveau de l'instance de la version 4.8.7 vers 5.2.2 échoue et la commande cpd-cli service-instance affiche l'instance avec l'ancienne version et avec le PROVISIONED statut.

Symptômes

Lors de la mise à niveau d'une instance d' Data Virtualization, de la version 4.8.7 vers la version 5.2.2, la Big SQL version de la ressource personnalisée (CR) indiquée dans le .spec.version champ peut revenir à la version précédente.

Par conséquent, la commande cpd-cli service-instance affiche l'instance avec l'ancienne version, ainsi que l'état PROVISIONED de provisionnement (au lieu de UPGRADED).

Diagnostic du problème

Vérifiez si le problème est dû à un BIGSQL.LIVELINESS problème au niveau de la table :

  1. Enregistrez une copie du journal du Db2U pod opérateur :
    oc -n $PROJECTOPERATOR logs - - timestamps $(oc -n $PROJECT_OPERATOR get pods | grep -i db2u-operator-manager | cut -d' ' -f 1) > db2u-operator.log
  2. Vérifiez db2u-operator.log la présence des erreurs suivantes concernant le test de disponibilité de l' Data Virtualization, comme dans cet exemple :
    2025-10-17.04:12:49.111: [ERROR] - The liveness probe failed
    2025-10-17.04:12:49.129: [ERROR] - Failed liveness probe check
  3. Lancez manuellement le test de disponibilité. Veillez à remplacer <DV_INSTANCE_NAMESPACE> par l'espace de noms de votre instance d' Data Virtualization.
    oc -n <DV_INSTANCE_NAMESPACE> rsh c-db2u-dv-db2u-0 -- su - db2inst1 -c "/opt/dv/current/run_time/liveness.sh"
  4. "BIGSQL.LIVELINESS" is an undefined nameSi la commande précédente affiche l'erreur d' SQL0204N suivante, passez à la section suivante pour résoudre le problème.
    2025-10-17_18.29.25.092_UTC  ERROR Not able to write in the table
    2025-10-17_18.29.25.183_UTC  ERROR DB21034E  The command was processed as an SQL statement because it was not a
    valid Command Line Processor command.  During SQL processing it returned:
    SQL0204N  "BIGSQL.LIVELINESS" is an undefined name.  SQLSTATE=42704
    2025-10-17_18.29.25.274_UTC  ERROR DV liveness probe failed

Résolution du problème

  1. Pour résoudre le problème, connectez-vous au pod principal Data Virtualization en tant qu'utilisateur db2inst1. Veillez à remplacer <DV_INSTANCE_NAMESPACE> par l'espace de noms de votre instance d' Data Virtualization.
    oc -n <DV_INSTANCE_NAMESPACE> rsh c-db2u-dv-db2u su - db2inst1
  2. Se connecter à la Db2 base de données :
    db2 connect to bigsql
  3. Recréez la BIGSQL.LIVELINESS table :
    1. db2 "call syshadoop.hcat_sync_objects('BIGSQL','LIVELINESS')"
    2. db2 "DROP TABLE BIGSQL.LIVELINESS PURGE;"
    3. db2 "CREATE EXTERNAL HADOOP TABLE BIGSQL.LIVELINESS(TEST VARCHAR(20));"
  4. Relancez le test de disponibilité de Data Virtualization dans le pod principal Data Virtualization en tant qu'utilisateur db2inst1 :
    /opt/dv/current/run_time/liveness.sh

    Vous pouvez désormais lancer la mise à niveau de l'instance d' Data Virtualization s à l'aide de la commande cpd-cli service-instance upgrade.