|
@@ -2920,8 +2920,16 @@ public class DataNode extends ReconfigurableBase
|
|
|
b.setNumBytes(visible);
|
|
|
|
|
|
if (targets.length > 0) {
|
|
|
- new Daemon(new DataTransfer(targets, targetStorageTypes,
|
|
|
- b, stage, client)).start();
|
|
|
+ Daemon daemon = new Daemon(threadGroup,
|
|
|
+ new DataTransfer(targets, targetStorageTypes, b,
|
|
|
+ stage, client));
|
|
|
+ daemon.start();
|
|
|
+ try {
|
|
|
+ daemon.join();
|
|
|
+ } catch (InterruptedException e) {
|
|
|
+ throw new IOException(
|
|
|
+ "Pipeline recovery for " + b + " is interrupted.", e);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|