Avamar: Avamar Kullanıcı Arayüzü (AUI) ve Avamar Yönetici Konsolu, yedekleme grubu oluştururken veya düzenlerken hatalı yanıt veriyor

Summary: Bu makalede, retention_policies tablosundaki bir sütun değeriyle ilgili olarak Avamar Management Console veritabanında (MCDB) yaşanan bir sorun ele alınmaktadır.

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

Bir yedekleme grubu oluşturma veya düzenleme girişimi yanıt alınamaz.
Management Console Hizmeti (MCS) günlüklerinde hiçbir şey belirtilmez, ancak rest api günlüklerinde belirtilir.

Aşağıda Avamar REST API günlüğü gösterilmektedir.
/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)

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

Cause

MCDB, retention_policies tablosunun birim sütununda 0 değerini kaydetti. 

Bu sütundaki 0 değeri, saklama süresinin saat cinsinden ölçüldüğünü gösterir. Ancak, saklama süresi birimi dört değerle tanımlanır: gün [1], hafta [2], ay [3] ve yıl [4].

Java'nın saat birimi için ayarlanmış sabit bir değeri yoktur, bu nedenle enum.valueOf() yöntemini çalıştırırken geçerli bir sabit değer değildir.

DurationUnits.HOURS'u görebilirsiniz, burada saatlerin numaralandırma sabiti olmadığını belirten bir hata oluşturur.

Örnek:
Hatalı girişleri olan 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 Adım:
MCS'nin yedeğini alın.
mcserver.sh --flush


2 Adım:
MCS'yi durdurun.
mcserver.sh --stop --force


3 Adım:
MCDB'yi manuel olarak açın.
dbmaint.sh  --db=on --dbname=mcdb


4 Adım:
Saklama politikaları biriminin değerini 0'dan 1'e güncelleştirin.
psql -d mcdb -p 5555 -c "update retention_policies set unit=1 where unit=0"


5 Adım:
MCS'yi başlatın.
mcserver.sh --start


6 Adım:
Artık AUI veya Avamar Administrator'da yedekleme politikası ekleyip düzenleyebildiğinizden emin olun ve yedekleme zamanlayıcısını başlatın.

Additional Information

Bu videoyu izleyin:

Bu videoyu YouTube'da da görüntüleyebilirsiniz.

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.