Avamar: Schlechte Reaktion der Avamar-Benutzeroberfläche (AUI) und der Avamar Administratorkonsole beim Erstellen oder Bearbeiten einer Backupgruppe

Summary: Dieser Artikel befasst sich mit einem Problem mit der Avamar Management Console-Datenbank (MCDB) in Bezug auf einen Spaltenwert in der retention_policies Tabelle.

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

Der Versuch, eine Backupgruppe zu erstellen oder zu bearbeiten, führt zu keiner Antwort.
Nichts wird in den MCS-Protokollen (Management Console Service) referenziert, sondern in den übrigen API-Protokollen.

Unten ist das Avamar REST API-Protokoll dargestellt.
/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)

Achtung Fehler:
java.lang.IllegalArgumentException: No enum constant com.avamar.mc.api.replication.dto.DurationUnits.HOURS

Cause

Die MCDB hat in der Einheitenspalte der retention_policies Tabelle den Wert 0 aufgezeichnet. 

Der Wert 0 in dieser Spalte bedeutet, dass die Aufbewahrungsfrist in Stunden gemessen wird. Die Aufbewahrungsfristeinheit wird jedoch durch vier Werte definiert: Tage [1], Wochen [2], Monate [3] und Jahre [4].

Java hat keinen konstanten Wert für die Stundeneinheit festgelegt, daher ist es kein gültiger konstanter Wert, wenn die enum.valueOf()-Methode ausgeführt wird.

Sie können DurationUnits.HOURS sehen, wo ein Fehler ausgegeben wird, der besagt, dass keine Aufzählungskonstante von Stunden vorhanden ist.

Beispiel:
MCDB mit den fehlerhaften Einträgen
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

Schritt 1:
Erstellen Sie ein Backup von MCS.
mcserver.sh --flush


Schritt 2:
Beenden Sie MCS.
mcserver.sh --stop --force


Schritt 3:
Rufen Sie die MCDB manuell auf.
dbmaint.sh  --db=on --dbname=mcdb


Schritt 4:
Aktualisieren Sie den Wert für die Aufbewahrungs-Policy-Einheit von 0 auf 1.
psql -d mcdb -p 5555 -c "update retention_policies set unit=1 where unit=0"


Schritt 5:
Starten Sie MCS.
mcserver.sh --start


Schritt 6:
Stellen Sie sicher, dass Sie jetzt eine Backup-Policy in der AUI oder in Avamar Administrator hinzufügen oder bearbeiten und den Backup-Planer starten können.

Additional Information

Sehen Sie sich dieses Video an:

Sie können sich dieses Video auch auf YouTube ansehen.

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.