Définition des valeurs de délai d'attente de nouvelles tentatives de demande

Avec des mappes fiables, vous pouvez fournir une valeur de délai d'attente en millisecondes à WebSphere eXtreme Scale pour les demandes de transaction.

Pourquoi et quand exécuter cette tâche

Vous pouvez définir la valeur du délai d'attente dans le fichier des propriétés du client ou dans une session. La valeur de session remplace la valeur dans les propriétés du client. Si la valeur définie est supérieure à zéro, la demande est réessayée jusqu'à ce que le dépassement du délai d'attente soit atteint ou qu'une erreur permanente se produise. Une erreur permanente peut être une exception DuplicateKeyException. La valeur zéro indique le mode fail-fast et eXtreme Scale ne retente pas la transaction, quelle que soit son type.

Pendant l'exécution, la valeur de délai d'expiration des transactions est utilisée avec la valeur de délai d'attente de nouvelle tentative, ce qui garantit que le délai d'attente de relance ne dépasse pas le délai d'expiration des transactions.

Deux types de transactions existent : les transactions de validation automatique et les transactions qui utilisent des méthodes explicites begin et commit. Les exceptions valides de tentatives diffèrent de ces deux types de transactions :
  • Pour les transactions appelées au sein d'une session, les transactions sont retentées pour les exceptions CORBA SystemException et eXtreme Scale TargetNotAvailable.
  • Pour les transactions de validation automatique, les transactions sont retentées pour les exceptions de disponibilité CORBA eXtreme Scale. Ces exceptions incluent les exceptions ReplicationVotedToRollbackTransactionException, TargetNotAvailable et AvailabilityException.

Les erreurs d'application et les autres erreurs permanentes s'exécutent immédiatement et le client ne retente pas la transaction. Ces erreurs permanentes incluent les exceptions DuplicateKeyException et KeyNotFoundException. Utilisez le paramètre fail-fast pour exécuter toutes les exceptions sans retenter les transactions.

Exceptions pour lesquels le client retente la transaction :
  • ReplicationVotedToRollbackTransactionException (uniquement en validation automatique)
  • TargetNotAvailable
  • org.omg.CORBA.SystemException
  • AvailabilityException (uniquement en validation automatique)
  • LockTimeoutException (uniquement en validation automatique)
  • UnavailableServiceException (uniquement en validation automatique)
Exceptions permanentes pour lesquelles la transaction n'est pas retentée :
  • DuplicateKeyException
  • KeyNotFoundException
  • LoaderException
  • TransactionAffinityException
  • LockDeadlockException
  • OptimisticCollisionException

Procédure