Авамар: Погана реакція інтерфейсу користувача Avamar (AUI) і консолі адміністратора Avamar під час створення або редагування групи резервних копій

Summary: У цій статті вирішено проблему з базою даних Avamar Management Console (MCDB) щодо значення стовпця в таблиці 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

Спроба створити або відредагувати групу резервних копій не дає відповіді.
У журналах служби консолі керування (MCS) не згадується ніщо, а лише в інших журналах API.

Нижче показаний журнал 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)

Увага на помилку:
java.lang.IllegalArgumentException: No enum constant com.avamar.mc.api.replication.dto.DurationUnits.HOURS

Cause

У MCDB записано значення 0 у стовпці одиниць таблиці retention_policies. 

Значення 0 у цьому стовпці говорить про те, що період зберігання вимірюється в годинах. Однак одиниця зберігання визначається чотирма значеннями: днями [1], тижнями [2], місяцями [3] і роками [4].

Java не має встановленого постійного значення для одиниці годин, тому воно не є дійсним постійним значенням під час виконання методу

enum.valueOf().Ви можете побачити DurationUnits.HOURS, де він видає помилку про те, що константи перерахування годин не існує.

Приклад:
MCDB з неправильними записами
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

Крок 1:
Візьміть резервну копію MCS.
mcserver.sh --flush


Крок 2:
Зупиніть MCS.
mcserver.sh --stop --force


Крок 3:
Викличте MCDB вручну.
dbmaint.sh  --db=on --dbname=mcdb


Крок 4:
Оновіть значення для одиниці політик збереження до 1, з 0.
psql -d mcdb -p 5555 -c "update retention_policies set unit=1 where unit=0"


Крок 5:
Запустіть MCS.
mcserver.sh --start


Крок 6:
Переконайтеся, що тепер ви можете додавати або редагувати політику резервного копіювання в AUI або Avamar Administrator і запустити планувальник резервного копіювання.

Additional Information

Дивіться це відео:

Ви також можете переглянути це відео на 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.