Avamar: Risposta errata dell'interfaccia utente di Avamar (AUI) e della console di amministrazione di Avamar durante la creazione o la modifica di un gruppo di backup

Summary: Questo articolo affronta un problema relativo al database Avamar Management Console (MCDB) relativo a un valore di colonna nella tabella retention_policies.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Se si tenta di creare o modificare un gruppo di backup, non viene data alcuna risposta.
Non viene fatto riferimento a nulla nei registri Management Console Service (MCS), ma nei registri dell'API REST.

Di seguito è riportato il registro dell'Avamar REST API.
/usr/local/avamar/var/mc/server_log/mc-rest-api.log

java.lang.IllegalArgumentException: No enum constant com.avamar.mc.api.replication.dto.DurationUnits.HOURS
  at java.lang.Enum.valueOf(Unknown Source)
  at com.avamar.mc.api.replication.dto.DurationUnits.valueOf(DurationUnits.java:3)
  at com.avamar.mc.api.retention.service.RetentionServiceImpl.convertRetentionPolicyDescriptor(RetentionServiceImpl.java:194)
  at com.avamar.mc.api.retention.service.RetentionServiceImpl.getRetentions(RetentionServiceImpl.java:65)
  at com.avamar.mc.api.retention.web.RetentionController.getRetentions(RetentionController.java:48)
  at com.avamar.mc.api.retention.web.RetentionController$$FastClassBySpringCGLIB$$5ac7ec93.invoke(<generated>)
  at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
  at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
  at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69)
  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
  at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
  at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
  at com.avamar.mc.api.retention.web.RetentionController$$EnhancerBySpringCGLIB$$ebae7189.getRetentions(<generated>)
  at sun.reflect.GeneratedMethodAccessor4160.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  at java.lang.reflect.Method.invoke(Unknown Source)

Attenzione all'errore:
java.lang.IllegalArgumentException: No enum constant com.avamar.mc.api.replication.dto.DurationUnits.HOURS

Cause

L'MCDB ha registrato un valore pari a 0 nella colonna dell'unità della tabella retention_policies. 

Il valore 0 in questa colonna indica che il periodo di retention viene misurato in ore. Tuttavia, l'unità del periodo di retention è definita da quattro valori: giorni [1], settimane [2], mesi [3] e anni [4].

Java non ha un valore costante impostato per l'unità di ore, quindi non è un valore costante valido quando si esegue il metodo

enum.valueOf().È possibile visualizzare DurationUnits.HOURS, in cui viene generato un errore che indica che non esiste alcuna costante di enumerazione delle ore.

Esempio:
MCDB con le voci errate
admin@avamar:~/>: psql -p 5555 mcdb
psql (10.6)
Type "help" for help.

mcdb=# select id,name,duration,unit from retention_policies;
        id        |             name             | duration | unit
------------------+------------------------------+----------+------
 MONTHLY:PolicyID | Monthly Retention            |        1 |    3
 WEEKLY:PolicyID  | Weekly Retention             |        1 |    2
 Default:POLICYID | Default Retention            |       60 |    1
 EndUser:PolicyID | End User On Demand Retention |       60 |    1
 Minimal:PolicyID | Minimal Retention            |       60 |    1
 RP1652848159766  | Platinum                     |       60 |    0 <-- These 0s
 RP1652848162931  | Gold                         |       60 |    0 <-- These 0s
 RP1652848166086  | Silver                       |       60 |    0 <-- These 0s
 RP1652848169312  | Bronze                       |       60 |    0 <-- These 0s
(9 rows)

Resolution

Passo 1:
Eseguire un backup di MCS.
mcserver.sh --flush


Passo 2:
Arrestare MCS.
mcserver.sh --stop --force


Passo 3:
Attivare manualmente MCDB.
dbmaint.sh  --db=on --dbname=mcdb


Passo 4:
Aggiornare il valore dell'unità retention policies da 0 a 1.
psql -d mcdb -p 5555 -c "update retention_policies set unit=1 where unit=0"


Passo 5:
Avviare MCS.
mcserver.sh --start


Passo 6:
Assicurarsi che ora sia possibile aggiungere o modificare la policy di backup in AUI o Avamar Administrator e avviare l'utilità di pianificazione dei backup.

Additional Information

Guarda questo video:

Puoi visualizzare questo video anche su YouTube.

Affected Products

Avamar
Article Properties
Article Number: 000200096
Article Type: Solution
Last Modified: 03 Feb 2025
Version:  6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.