Elias Pereira
2024-Jan-17 20:57 UTC
[Samba] {Device Timeout} The I/O operation specified in %hs was not completed before the timeout period expired
> > samba-tool drs replicate dc2 dc3 > DC=ForestDnsZones,DC=campus,DC=sertao,DC=ifrs,DC=edu,DC=br --async-op -d10 > It should complete without the error.My question is whether it will actually run without any errors. I checked all the logs in the /var/log/samba folder, and nothing is saved about the execution with the --async-op option. If it runs in the background, it might open a fork of the samba root process. Could this be the case? Excuse my insistence, but how can I be sure that there really wasn't an error in the command execution process? On Wed, Jan 17, 2024 at 4:52?PM Rowland Penny via samba < samba at lists.samba.org> wrote:> On Wed, 17 Jan 2024 16:43:26 -0300 > Elias Pereira <empbilly at gmail.com> wrote: > > > Okay. How do I know if the command really ran correctly? :D > > You ran: > > samba-tool drs replicate dc2 dc3 > DC=ForestDnsZones,DC=campus,DC=sertao,DC=ifrs,DC=edu,DC=br -d10 > > and got an error message. > > If you run: > > samba-tool drs replicate dc2 dc3 > DC=ForestDnsZones,DC=campus,DC=sertao,DC=ifrs,DC=edu,DC=br --async-op -d10 > > It should complete without the error. > > Rowland > > -- > To unsubscribe from this list go to the following URL and read the > instructions: https://lists.samba.org/mailman/options/samba >-- Elias Pereira
Rowland Penny
2024-Jan-18 08:32 UTC
[Samba] {Device Timeout} The I/O operation specified in %hs was not completed before the timeout period expired
On Wed, 17 Jan 2024 17:57:31 -0300 Elias Pereira <empbilly at gmail.com> wrote:> > > > samba-tool drs replicate dc2 dc3 > > DC=ForestDnsZones,DC=campus,DC=sertao,DC=ifrs,DC=edu,DC=br > > --async-op -d10 It should complete without the error. > > > My question is whether it will actually run without any errors. I > checked all the logs > in the /var/log/samba folder, and nothing is saved about the > execution with the --async-op option. > > If it runs in the background, it might open a fork of the samba root > process. Could this be the case? > Excuse my insistence, but how can I be sure that there really wasn't > an error in the command execution process? >As I understand it, the only error you had was that your logs were getting filled with the message in the subject line and everything was working correctly. Adding '--async-op' to the command seems to have fixed it, so how did I come up with that option ? I read the python code for the drs replicate command, were I found this: class cmd_drs_replicate(Command): """Replicate a naming context between two DCs.""" Amongst its options is this: Option("--async-op", help="use ASYNC_OP for the replication", action="store_true"), Which if it is isn't used is set to False: def run(self, DEST_DC, SOURCE_DC, NC, add_ref=False, sync_forced=False, sync_all=False, full_sync=False, local=False, local_online=False, async_op=False, single_object=False, sambaopts=None, credopts=None, versionopts=None): Which leads to this piece of code being run: if not async_op: # Give the sync replication 5 minutes time server_bind.request_timeout = 5 * 60 But if it is used, this code is used: req_options = 0 .............. if async_op: req_options |= drsuapi.DRSUAPI_DRS_ASYNC_OP so 'DRSUAPI_DRS_ASYNC_OP' is set to 'something' but what ? You can find that here: librpc/idl/drsuapi.idl:20: DRSUAPI_DRS_ASYNC_OP = 0x00000001, It is being set to '1', but what does that do ? If you read the release notes for 4.5.0 , you will find this: samba-tool drs replicate with new options ----------------------------------------- 'samba-tool drs replicate' got two new options: The option '--local-online' will do the DsReplicaSync() via IRPC to the local dreplsrv service. The option '--async-op' will add DRSUAPI_DRS_ASYNC_OP to the DsReplicaSync(), which won't wait for the replication result. It would seem that, whilst the replication was/is working correctly, a requested reply wasn't received in time, so you got that error message. Rowland