//Fix or deprecate fromExecutor, this test might randomly hang on CI
@Test
	@Ignore //Fix or deprecate fromExecutor, this test might randomly hang on CI
	public void rejectedExecutionExceptionOnErrorSignalExecutor()
			throws InterruptedException {
		Exception exception = new IllegalStateException();
		final AtomicReference<Throwable> throwableInOnOperatorError =
				new AtomicReference<>();
		final AtomicReference<Object> dataInOnOperatorError = new AtomicReference<>();
		try {
			CountDownLatch hookLatch = new CountDownLatch(2);
			Hooks.onOperatorError((t, d) -> {
				throwableInOnOperatorError.set(t);
				dataInOnOperatorError.set(d);
				hookLatch.countDown();
				return t;
			});
			ExecutorService executor = newCachedThreadPool();
			CountDownLatch latch = new CountDownLatch(1);
			AssertSubscriber<Integer> assertSubscriber = new AssertSubscriber<>();
			Flux.range(0, 5)
			    .publishOn(fromExecutorService(executor))
			    .doOnNext(s -> {
				    try {
					    latch.await();
				    }
				    catch (InterruptedException e) {
					    throw Exceptions.propagate(exception);
				    }
			    })
			    .publishOn(fromExecutor(executor))
			    .subscribe(assertSubscriber);
			executor.shutdownNow();
			assertSubscriber.assertNoValues()
			                .assertNoError()
			                .assertNotComplete();
			hookLatch.await();
			assertThat(throwableInOnOperatorError.get()).isInstanceOf(RejectedExecutionException.class);
			assertThat(throwableInOnOperatorError.get().getSuppressed()[0]).isSameAs(exception);
		}
		finally {
			Hooks.resetOnOperatorError();
		}
	}
@Test
@Ignore //Fix or deprecate fromExecutor, this test might randomly hang on CI
public void rejectedExecutionExceptionOnErrorSignalExecutor()
throws InterruptedException {
@Test
@Ignore //Fix or deprecate fromExecutor, this test might randomly hang on CI
public void rejectedExecutionExceptionOnErrorSignalExecutor()
throws InterruptedException {
Exception exception = new IllegalStateException();
final AtomicReference<Throwable> throwableInOnOperatorError =
new AtomicReference<>();
final AtomicReference<Object> dataInOnOperatorError = new AtomicReference<>();
try {
CountDownLatch hookLatch = new CountDownLatch(2);
Hooks.onOperatorError((t, d) -> {
throwableInOnOperatorError.set(t);
@Test
@Ignore //Fix or deprecate fromExecutor, this test might randomly hang on CI
public void rejectedExecutionExceptionOnErrorSignalExecutor()
throws InterruptedException {
Exception exception = new IllegalStateException();
final AtomicReference<Throwable> throwableInOnOperatorError =
new AtomicReference<>();
final AtomicReference<Object> dataInOnOperatorError = new AtomicReference<>();
try {
CountDownLatch hookLatch = new CountDownLatch(2);
Hooks.onOperatorError((t, d) -> {
throwableInOnOperatorError.set(t);
dataInOnOperatorError.set(d);
hookLatch.countDown();
return t;
});
ExecutorService executor = newCachedThreadPool();
CountDownLatch latch = new CountDownLatch(1);
AssertSubscriber<Integer> assertSubscriber = new AssertSubscriber<>();
Flux.range(0, 5)
.publishOn(fromExecutorService(executor))
.doOnNext(s -> {