Avamar: Resposta incorreta da interface do usuário do Avamar (AUI) e do Avamar Administrator Console ao criar ou editar um grupo de backup
Summary: Este artigo aborda um problema no banco de dados do Avamar Management Console (MCDB) em relação a um valor de coluna na tabela a 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
Uma tentativa de criar ou editar um grupo de backup resulta em nenhuma resposta.
Nada é mencionado nos logs do Management Console Service (MCS), mas sim nos logs da API REST.
Veja abaixo o log da API REST do Avamar.
Atenção ao erro:
Nada é mencionado nos logs do Management Console Service (MCS), mas sim nos logs da API REST.
Veja abaixo o log da API REST do Avamar.
/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)
Atenção ao erro:
java.lang.IllegalArgumentException: No enum constant com.avamar.mc.api.replication.dto.DurationUnits.HOURS
Cause
O MCDB registrou um valor de 0 na coluna de unidade da tabela retention_policies.
Um valor 0 nesta coluna sugere que o período de retenção é medido em horas. No entanto, a unidade de período de retenção é definida por quatro valores: dias [1], semanas [2], meses [3] e anos [4].
Java não tem um valor constante definido para a unidade de horas, portanto, não é um valor constante válido ao executar o método enum.valueOf().
Você pode ver DurationUnits.HOURS, onde ele está lançando um erro dizendo que não existe nenhuma constante de enumeração de horas.
Exemplo:
MCDB com as entradas defeituosas
Um valor 0 nesta coluna sugere que o período de retenção é medido em horas. No entanto, a unidade de período de retenção é definida por quatro valores: dias [1], semanas [2], meses [3] e anos [4].
Java não tem um valor constante definido para a unidade de horas, portanto, não é um valor constante válido ao executar o método enum.valueOf().
Você pode ver DurationUnits.HOURS, onde ele está lançando um erro dizendo que não existe nenhuma constante de enumeração de horas.
Exemplo:
MCDB com as entradas defeituosas
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:
Faça um backup do MCS.
Passo 2:
Interrompa o MCS.
Passo 3:
Abra o MCDB manualmente.
Passo 4:
Atualize o valor da unidade de políticas de retenção para 1, de 0.
Passo 5:
Inicie o MCS.
Passo 6:
Certifique-se de que agora você pode adicionar ou editar a política de backup na AUI ou no Avamar Administrator e inicie o agendador de backup.
Faça um backup do MCS.
mcserver.sh --flush
Passo 2:
Interrompa o MCS.
mcserver.sh --stop --force
Passo 3:
Abra o MCDB manualmente.
dbmaint.sh --db=on --dbname=mcdb
Passo 4:
Atualize o valor da unidade de políticas de retenção para 1, de 0.
psql -d mcdb -p 5555 -c "update retention_policies set unit=1 where unit=0"
Passo 5:
Inicie o MCS.
mcserver.sh --start
Passo 6:
Certifique-se de que agora você pode adicionar ou editar a política de backup na AUI ou no Avamar Administrator e inicie o agendador de backup.
Additional Information
Affected Products
AvamarArticle 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.