I am trying to use direct linking and have a few questions.
1. Why does run_sync() not return anything? I'd think it should return like run_bash so that we can check exit code and error.
2. I am calling run_sync() from the linked_pre_snapshot operation. I assume this is where it should be called from? When I call it once it works fine. But when I call it twice it gives me the below error:
I want to be able to loop to call run_sync() until the duration is less than a certain threshold. When the directory being synchronized is large the initial sync could take quite a while (i.e. hours). I'd like to run it, and then check how long it took. If it took more than x seconds I'd like to run it again to get closer. I'd like to loop thru this until the rsync takes less than x seconds, at which point I'll call run_bash to flush the database, and then run the rsync one last time so as to get a read consistent version of the files, and then call run_bash to unlock the database. But when I try to run it more than once it is failing?
3. Is there a way to remove files that are on the target that are no longer on the source? I assume run_sync will sync files from the source dir to the engine, but how to remove anything that is on the engine that is no longer on the source (i.e. they deleted from source)?
When I used staged linking I was able to run the following:
i.e. rsync -r --delete --existing --ignore-existing --ignore-errors --progress <src> <tgt>
4. I tried to pass in rsync_user to run rsync as a user that has permissions on the underlying files. When I don't send the default delphix user does not have access since the files are 600 and not owned by delphix. With staged linking I was able to run as root and worked fine. When I pass in rsync_user="root" it seems to be ignoring it and running as delphix? Does this need to be a user defined for the environment in Delphix? Or can we setup trusted ssh on the source so that delphix can remote ssh as root? If so where would I get the delphix key to add to the authorized_hosts file? Please explain how to properly use rsync_user?
5. I am not seeing the 'Resynchronize dsource' option for the dSource? All I see is 'Disable' and 'Delete'. I see it when the SDK is staged linking, but not for my direct linking SDK. Am I missing an operation or something?
I have everything working with staged linking, but would like to get it working with direct linking since I'd think rsync would be quicker since it would be going directly from the source to the engine where it is ingested, as opposed to going to a target and then back to the engine via NFS. Initial testing looks to be quicker, but I still need to figure out how to accomplish the same (i.e. looping rsync, deleting files, etc) to make it a workable option.
Thanks! Paul
------------------------------
Paul Jauquet
Senior Data Services Consultant
Axis Technology, LLC
------------------------------