Avamar: Data Domain Integration: Replication reports an "Out of streams" error
Summary: In an Avamar environment integrated with Data Domain, replication is completing with exceptions due to an "Out of streams" error.
Symptoms
In an Avamar environment integrated with Data Domain (DD), replication is completing partially with the following exceptions seen in the logs:
2019-07-01 17:02:14 avtar Info <41435>: - Data Domain configured in Stand-Alone mode.
2019-07-01 17:02:14 avtar Info <40206>: Setting default storage unit to 'avamar-1315232775' for handle 2
2019-07-01 17:02:14 avtar Info <41440>: Data Domain handle:2 capabilities:0x0020021B
2019-07-01 17:02:14 avtar Info <10609>: Data Domain Destination login to ddxxxx.net complete
2019-07-01 17:02:15 avtar Info <42385>: id:1 Range-Replication selected because it is supported since DDOS 6.0 (container.1.cdsf)
2019-07-01 17:02:15 avtar Info <40160>: - Establishing a connection to the Data Domain system with basic authentication (Connection mode: A:0 E:0).
..
2019-07-01 17:02:18 avtar Info <40160>: - Establishing a connection to the Data Domain system with basic authentication (Connection mode: A:0 E:0).
2019-07-01 17:02:21 avtar Error <0000>: Replication failed - id: 3, unexpected exception caught: ddr_replthread:3:replicateSlice: ddp_filecopy_status failed
[179027] [140372932351744] Mon Jul 1 17:02:21 2019
ddp_filecopy_status() failed, start_offset[0], length[20971520], Err: 5539-filecopy operation failed (nfs: Out of Streams)
[179027] [140372932351744] Mon Jul 1 17:02:19 2019
ddp_filecopy_stop() failed, Err: 5004-nfs filecopy stop failed (nfs: No such file or directory)
...
[179027] [140372992386816] Mon Jul 1 17:02:15 2019
ddp_access() failed, Path avamar-1437556709/STAGING/09a1003e41e2a0d9e3333cf9fbb3345e0b665a0e/BACKUP-01974498BF0587FFD2EC4A97BD201139F29D9516-1D52F902DDF23FC, mode 0 Err: 5004-nfs lookup failed (nfs: No such file or directory)
[179027] [140372992386816] Mon Jul 1 17:02:14 2019
ddp_access() failed, Path avamar-1315232775/STAGING/09a1003e41e2a0d9e3333cf9fbb3345e0b665a0e/BACKUP-01974498BF0587FFD2EC4A97BD201139F29D9516-1D52F902DDF23FC, mode 0 Err: 5004-nfs lookup failed (nfs: No such file or directory)
..
2019-07-01 17:02:29 avtar Info <40176>: - Multi-stream restore summary (current 0, max active 0, max cloned 0, total cloned 0, ddr handle 2):
2019-07-01 17:02:29 avtar FATAL <0000>: Replication failed
2019-07-01 17:02:29 avtar FATAL <40009>: DDR encountered errors.
2019-07-01 17:02:29 avtar Info <9772>: Starting graceful (staged) termination, DDR_ERROR event received (fatal severity) (wrap-up stage)
2019-07-01 17:02:29 avtar Info <0000>: Entering the 'final' phase of termination, DDR_ERROR need to exit)
2019-07-01 17:02:29 avtar Info <40176>: - Multi-stream restore summary (current 0, max active 0, max cloned 0, total cloned 0, ddr handle 2):
2019/07/01-14:02:29.25907 [avtar] INTERNAL ERROR: <0001> assert error (result == MSG_ERR_NONE), /local/jenkins/workspace/server_rollup_hotfix_SLES11-64/src/avtar/ade/adelib/interfaceade.cpp line 396
2019-07-01 17:02:29 avtar Info <5675>: Replicated 0 of 78 backups (0 errors) for client "ddxxxx.net"
2019-07-01 17:02:29 avtar Error <6655>: Replicate interrupted.
2019-07-01 17:02:29 avtar Info <7925>: Restored 940.4 KB from selection(s) with 6.000 GB in 1 files
2019-07-01 17:02:29 avtar Info <6090>: Restored 940.4 KB in 0.34 minutes: 159.9 MB/hour (174 files/hour)
Connectivity between both the Avamar and source Data Domain, and the source and target Data Domains had already been verified (using ping, ssh, and telnet (or curl) on ports 111, 2049, 2051, 2052).
Cause
A single replication group was with multiple (4+) clients.
In the replication group, the "max-concurrent-processes" was set to four, which replicated four clients simultaneously.
This resulted in a higher number of streams between the source and target Data Domains than were available.
Resolution
1. The maximum stream count should be checked on both the Data Domain source and target by running the following command on the respective Data Domain:
ddboost@dd# ddboost streams show active
--------- Active Streams -------- --------- Soft Limits -------- - Hard Limit -
Name Read Write Repl-out Repl-in Read Write Repl Combined Combined
----------------- ---- ----- -------- ------- ---- ----- ---- -------- --------------
avamar-xxxxx 0 0 0 0 - - - - -
----------------- ---- ----- -------- ------- ---- ----- ---- -------- --------------
DD System Stream Limits: read=6 write=35 repl-in=20 repl-out=18 combined=30
2. Compare the maximum allowed count with the actual stream activity as in repl-in or repl-out on target and source DD respectively.
The knowledge article Data Domain: Supported Stream Counts for DDOS 6.0 also has a list of supported stream counts per model. This article also contains links to earlier DDOS versions 4.0 to 5.7.
3. Review the max-concurrent-processes and Maximum number of Data Domain Replication Streams.
-
If the clients are being replicated alphabetically:
- The Four clients would replicate simultaneously creating 24 streams (6 by default per client)
- The default can be changed by using the freeform flag "
[avtar]ddr-repl-max-parallel-streams" with a value of 1-29 within the UI.
-
If the clients are being replicated parallel (pool-based replication), there is an additional setting "Maximum number of Data Domain Replication Streams" to control how many streams per client.
As a best practice for resources utilization and management, ensure that the clients are divided into more than one replication group.
Additional Information
-
The value of "
max-streams" is the equivalent to "Maximum concurrent processes" in the UI. -
The value of "
max-ddr-streams" is the equivalent to "Maximum number of Data Domain Replication Streams" in the UI.