EMCECS / ecs-sync

ecs-sync is a bulk copy utility that can move data between various systems in parallel
Apache License 2.0
61 stars 22 forks source link

ECS-Sync 3.3.0 unable to query CAS pool #57

Closed berislavv closed 4 years ago

berislavv commented 4 years ago

How to troubleshoot this query issue? I have set up a HPP access to Centera to pull data from a pool but getting this error, even i have all permissions on the pool and profile levels.

[java.lang.RuntimeException: com.filepool.fplibrary.FPLibraryException: The use of this operation is restricted] com.filepool.fplibrary.FPLibraryException: The use of this operation is restricted at com.filepool.fplibrary.FPPoolQuery.FetchResult(Unknown Source) at com.filepool.fplibrary.FPPoolQuery.FetchResult(Unknown Source) at com.emc.ecs.sync.storage.cas.CasStorage$2$1$1.call(CasStorage.java:221) at com.emc.ecs.sync.storage.cas.CasStorage$2$1$1.call(CasStorage.java:218) at com.emc.ecs.sync.util.TimingUtil.time(TimingUtil.java:67) at com.emc.ecs.sync.AbstractPlugin.time(AbstractPlugin.java:76) at com.emc.ecs.sync.storage.cas.CasStorage.access$400(CasStorage.java:46) at com.emc.ecs.sync.storage.cas.CasStorage$2$1.getNextObject(CasStorage.java:218) at com.emc.ecs.sync.storage.cas.CasStorage$2$1.getNextObject(CasStorage.java:210) at com.emc.ecs.sync.util.ReadOnlyIterator.hasNext(ReadOnlyIterator.java:31) at com.emc.ecs.sync.EcsSync.run(EcsSync.java:331) at com.emc.ecs.sync.service.SyncJobService$SyncTask.run(SyncJobService.java:340) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

holgerjakob commented 4 years ago

Hi berislavv

please share a show pool detail of the pool where the profile should be able to query from on Centera.

It is unlikely but error messages do not indicate from which side, source or target, the error is listed. On the target side assuming you migrate to ECS, your user should have the default bucket set as well as the required rights in the bucket.

Best regards, Holger

berislavv commented 4 years ago

Hi Holger I will migrate to ECS, but currently i have a setup where source is Centera and target is simulated storage to test access to Centera. Profile i am using is ecssync. Here are the pool detail:

Centera Pool Detail Report

Generated on 2019. listopad 16 14:47:06 CEST

Pool Name: EVault Pool ID: 34eccbaa-1dd2-11b2-9613-f61e825d72ef-5 Pool Mask: rdqeDcw- Cluster Mask: rdqeDcw--h

Pool Quota Alert: 75 TB Pool Quota Hard Stop: -- Used Pool Capacity: 32 TB Free Pool Capacity (Alert): 43 TB Free Pool Capacity (Hard Stop): -- Number of C-Clips: 2927587 Number of Files: 86329902 Number of scheduled tasks: 0

Granted Rights to Access Profiles:

Profile Name Granted Effective Monitor Cap Enabled Home Pool

EVault rdqeDcw- rdqeDcw- no yes yes ecssync rdqeDcw- rdqeDcw- no yes yes rep2-prof -d-e-c-- -d-e-c-- no yes no

Pool Mappings: none Pool being replicated: yes

holgerjakob commented 4 years ago

Hi berislavv yes, your profile ecssync has query being effective as well as clipcopy which is used for the rawreads from Centera.

What I suggest is to test your access with JCASScript. In an ssh session on the ova issue: sudo -i java -jar /var/CASTool/JCASScript.jar

In JCASScript you can issue a pool open with: po ip?/path/to/pea --- the same that you use for your CAS Source definition

then issue a query to file with qtf /home/ecssync/evault.clips.txt

Let me know how things work out. If they don't we can still schedule a remote session tomorrow in european time zones.

Best regards, Holger

berislavv commented 4 years ago

I did a service installation and there is no JCASScript in /var/CASTool.

Should i install it from https://community.emc.com/docs/DOC-2393? The only issue i see is that the version is for gcc3.3 and on my system is gcc4

Regards, Berislav

holgerjakob commented 4 years ago

Unfortunately I'm normally using the ova which has everything I need and then I enlarge the disk, add more memory and CPU and then I'm fine. As I can't really answer that question we'll have to leave it to the ecssync people. Alternatively we can deploy the ova tomorrow if you want to. Change the IP address and then upgrade to 3.3 in it.

Giving it a try will not really hurt, right?

Holger

berislavv commented 4 years ago

Luckily my colleague deployed the OVA, its still on 3.2.7 and the JCASS query to file is running fine. It has a lot of CLIPS so it will take some time to finish

The error for test migration in UI is the same as in version 3.3.0. service instalation.

holgerjakob commented 4 years ago

Hi berislavv What we usually do is we perform a query with JCASScript. Then define a cliplist based migration job for the initial migration. Be sure to specify a table name. Then setup incremental jobs using the advanced options setting the start query date a couple of days earlier than your JCASScript query date (Centera time may be off quite a bit if not using ntp). This job can be rerun (or archived and taken as a base adjusting the start date for new jobs).

I've seen large queries die when just using the UI and querying large amounts of clips. JCASScript handles this better. The initial job takes a while to read the whole cliplist but that's fine.

As JCASScript is working, the issue was not your pea file or the Centera configuration :-)

Best regards, Holger

berislavv commented 4 years ago

Thank you very much Holger We will try this tomorow and let you know the result.

berislavv commented 4 years ago

Hi We created a cliplist from JCASScript and used it as source for the migration in UI and from CLI and we are receiving the same error as listed below.

Also note that we can crr from JCASScript the same clip as in the error.

2019-10-18 06:19:16 WARN [sync-pool-1-t-11] SyncTask: O--! object 0C2JR8OUCKL9Fe02GQDKIC9Q739 failed com.filepool.fplibrary.FPLibraryException: The use of this operation is restricted (transid='ecssync.sit.pbz.hr/550/READ_CLIP') at com.filepool.fplibrary.FPClip.(Unknown Source) at com.emc.ecs.sync.storage.cas.CasClip.(CasClip.java:39) at com.emc.ecs.sync.storage.cas.CasStorage.casOpenClip(CasStorage.java:456) at com.emc.ecs.sync.storage.cas.CasStorage.access$000(CasStorage.java:46) at com.emc.ecs.sync.storage.cas.CasStorage$4.call(CasStorage.java:319) at com.emc.ecs.sync.storage.cas.CasStorage$4.call(CasStorage.java:316) at com.emc.ecs.sync.util.TimingUtil.time(TimingUtil.java:67) at com.emc.ecs.sync.storage.cas.CasStorage.loadObject(CasStorage.java:316) at com.emc.ecs.sync.SyncTask.run(SyncTask.java:72) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

berislavv commented 4 years ago

Solved. Missing ? in CAS connection string was the issue. Now our test sync from Centera to ECS CAS bucket was succesfull.

Thanks