Avamar: Felaktigt svar från Avamar-användargränssnittet (AUI) och Avamar-administratörskonsolen när en säkerhetskopieringsgrupp skapas eller redigeras

Podsumowanie: Den här artikeln tar upp ett problem med Avamar Management Console-databasen (MCDB) angående ett kolumnvärde i den retention_policies tabellen.

Ten artykuł dotyczy Ten artykuł nie dotyczy Ten artykuł nie jest powiązany z żadnym konkretnym produktem. Nie wszystkie wersje produktu zostały zidentyfikowane w tym artykule.

Objawy

Ett försök att skapa eller redigera en säkerhetskopieringsgrupp resulterar i inget svar.
Ingenting refereras till i MCS-loggarna (Management Console Service), men i rest-API-loggarna.

Nedan visas Avamar REST API-loggen.
/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)

Uppmärksamhet på felet:
java.lang.IllegalArgumentException: No enum constant com.avamar.mc.api.replication.dto.DurationUnits.HOURS

Przyczyna

MCDB registrerade värdet 0 i enhetskolumnen i tabellen retention_policies. 

Värdet 0 i den här kolumnen tyder på att kvarhållningsperioden mäts i timmar. Lagringstidsenheten definieras dock av fyra värden: dagar [1], veckor [2], månader [3] och år [4].

Java har inget konstant värde inställt för enheten timmar, så det är inte ett giltigt konstant värde när du kör metoden enum.valueOf().

Du kan se DurationUnits.HOURS, där det uppstår ett felmeddelande om att det inte finns någon uppräkningskonstant för timmar.

Exempel:
MCDB med de felaktiga posterna
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)

Rozwiązanie

Steg 1:
Gör en säkerhetskopia av MCS.
mcserver.sh --flush


Steg 2:
Stoppa MCS.
mcserver.sh --stop --force


Steg 3:
Ta fram MCDB manuellt.
dbmaint.sh  --db=on --dbname=mcdb


Steg 4:
Uppdatera värdet för kvarhållningsprincipenheten till 1, från 0.
psql -d mcdb -p 5555 -c "update retention_policies set unit=1 where unit=0"


Steg 5:
Starta MCS.
mcserver.sh --start


Steg 6:
Se till att du nu kan lägga till eller redigera säkerhetskopieringspolicy i AUI eller Avamar Administrator och starta schemaläggaren för säkerhetskopiering.

Dodatkowe informacje

Se den här videon:

Du kan också se den här videon på YouTube.

Produkty, których dotyczy problem

Avamar
Właściwości artykułu
Numer artykułu: 000200096
Typ artykułu: Solution
Ostatnia modyfikacja: 09 lip 2026
Wersja:  7
Znajdź odpowiedzi na swoje pytania u innych użytkowników produktów Dell
Usługi pomocy technicznej
Sprawdź, czy Twoje urządzenie jest objęte usługą pomocy technicznej.