Quelles sont les bonnes pratiques pour éviter d'avoir recours à checkInAllObjects en urgence ?

Optimisation de la Concurrence et Résilience CAS

L'utilisation de checkInAllObjects est souvent le signe d'une gestion imparfaite des erreurs dans le code client. Pour une gouvernance robuste, il est recommandé de :

  • Encadrer le code à risque : Utilisez des blocs try...catch (ou équivalent selon le langage) autour des opérations de modification de données.
  • Utiliser des transactions explicites : Pour les opérations complexes impliquant plusieurs tables, utilisez un bloc transactionnel avec startTransaction. Dans le bloc catch, appelez systématiquement rollbackTransaction pour annuler les changements et libérer les verrous proprement.
  • Finaliser la sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya. : Assurez-vous que votre code se termine toujours par une libération propre de la sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya. (par exemple, session.end()), ce qui libère aussi les ressources.

En adoptant ces pratiques, on réserve checkInAllObjects à des situations de dépannage interactif plutôt qu'à un mécanisme de correction systématique.

Exemples pour l'action checkInAllObjects

Libération immédiate de tous les verrous

Appel direct de l'action pour libérer tous les objets extraits par l'utilisateur courant.

Nettoyage de session avec vérification de succès

Exécution de la libération globale avec capture du dictionnaire de statut pour confirmer que tout s'est bien passé (sévérité 0).