Avamar: Mala respuesta de Avamar User Interface (AUI) y Avamar Administrator Console cuando se crea o edita un grupo de respaldo
Summary: En este artículo, se aborda un problema con la base de datos de Avamar Management Console (MCDB) en relación con un valor de columna en la tabla 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
Un intento de crear o editar un grupo de respaldo no genera respuesta.
No se hace referencia a nada en los registros del servicio de consola de administración (MCS), pero sí en los registros de la API REST.
A continuación, se muestra el registro de Avamar REST API.
Atención al error:
No se hace referencia a nada en los registros del servicio de consola de administración (MCS), pero sí en los registros de la API REST.
A continuación, se muestra el registro de 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)
Atención al error:
java.lang.IllegalArgumentException: No enum constant com.avamar.mc.api.replication.dto.DurationUnits.HOURS
Cause
La MCDB registró un valor de 0 en la columna de unidades de la tabla retention_policies.
Un valor de 0 en esta columna sugiere que el período de retención se mide en horas. Sin embargo, la unidad de período de retención se define mediante cuatro valores: días [1], semanas [2], meses [3] y años [4].
Java no tiene un valor constante establecido para la unidad de horas, por lo que no es un valor constante válido cuando se ejecuta el método enum.valueOf().
Puede ver DurationUnits.HOURS, donde produce un error que indica que no existe ninguna constante de enumeración de horas.
Ejemplo:
MCDB con las entradas defectuosas
Un valor de 0 en esta columna sugiere que el período de retención se mide en horas. Sin embargo, la unidad de período de retención se define mediante cuatro valores: días [1], semanas [2], meses [3] y años [4].
Java no tiene un valor constante establecido para la unidad de horas, por lo que no es un valor constante válido cuando se ejecuta el método enum.valueOf().
Puede ver DurationUnits.HOURS, donde produce un error que indica que no existe ninguna constante de enumeración de horas.
Ejemplo:
MCDB con las entradas defectuosas
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
Paso 1:
Realice un respaldo de MCS.
Paso 2:
Detenga MCS.
Paso 3:
Abra la MCDB manualmente.
Paso 4:
Actualice el valor de la unidad de políticas de retención de 0 a 1.
Paso 5:
Inicie MCS.
Paso 6:
Asegúrese de que ahora puede agregar o editar la política de respaldo en AUI o Avamar Administrator e inicie el programador de respaldo.
Realice un respaldo de MCS.
mcserver.sh --flush
Paso 2:
Detenga MCS.
mcserver.sh --stop --force
Paso 3:
Abra la MCDB manualmente.
dbmaint.sh --db=on --dbname=mcdb
Paso 4:
Actualice el valor de la unidad de políticas de retención de 0 a 1.
psql -d mcdb -p 5555 -c "update retention_policies set unit=1 where unit=0"
Paso 5:
Inicie MCS.
mcserver.sh --start
Paso 6:
Asegúrese de que ahora puede agregar o editar la política de respaldo en AUI o Avamar Administrator e inicie el programador de respaldo.
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.