Avamar: Ugyldigt svar på Avamar-brugergrænseflade (AUI) og Avamar-administratorkonsol ved oprettelse eller redigering af en sikkerhedskopieringsgruppe

Summary: Denne artikel løser et problem med Avamar Management Console-databasen (MCDB) vedrørende en kolonneværdi i retention_policies tabellen.

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

Et forsøg på at oprette eller redigere en backupgruppe resulterer ikke i noget svar.
Der refereres ikke til noget i Management Console Service-logfilerne (MCS), men i resten af API-logfilerne.

Nedenfor vises 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)

Vær opmærksom på fejlen:
java.lang.IllegalArgumentException: No enum constant com.avamar.mc.api.replication.dto.DurationUnits.HOURS

Cause

MCDB registrerede en værdi på 0 i enhedskolonnen i retention_policies tabellen. 

En værdi på 0 i denne kolonne angiver, at opbevaringsperioden måles i timer. Opbevaringsperiodeenheden defineres dog af fire værdier: dage [1], uger [2], måneder [3] og år [4].

Java har ikke en konstant værdi, der er indstillet for enheden af timer, så det er ikke en gyldig konstant værdi, når du kører enum.valueOf()-metoden.

Du kan se DurationUnits.HOURS, hvor den giver en fejl, der siger, at der ikke findes nogen optællingskonstant for timer.

Eksempel:
MCDB med de fejlbehæftede poster
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

Trin 1:
Tag en sikkerhedskopi af MCS.
mcserver.sh --flush


Trin 2:
Stop MCS.
mcserver.sh --stop --force


Trin 3:
Åbn MCDB manuelt.
dbmaint.sh  --db=on --dbname=mcdb


Trin 4:
Opdater værdien for enheden med opbevaringspolitikker til 1 fra 0.
psql -d mcdb -p 5555 -c "update retention_policies set unit=1 where unit=0"


Trin 5:
Start MCS.
mcserver.sh --start


Trin 6:
Sørg for, at du nu kan tilføje eller redigere sikkerhedskopieringspolitikken i AUI eller Avamar-administratoren og starte sikkerhedskopieringsplanlægningsprogrammet.

Additional Information

Se denne video:

Du kan også se denne video på 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.