Easier to interpret error message when TM1 does not respond
Describe the bug I am opening this issue per @MariusWirtz request. I intermittently receive an error from TM1py when TM1 (IBM Cloud) does not respond. Could TM1py raise an error that is easier to interpret when TM1 does not respond? Below is an example of the error I receive.
2022-07-14 12:19:38,638 - ERROR - Cancelling an overlapped future failed future: <_OverlappedFuture pending overlapped=<pending, 0x1c58e0b80d0> cb=[BaseProactorEventLoop._loop_self_reading()]> Traceback (most recent call last): File "asyncio\runners.py", line 43, in run File "asyncio\base_events.py", line 616, in run_until_complete File "Data_Sync_Cube_Between_Servers_async.py", line 180, in transfer_async File "concurrent\futures\thread.py", line 57, in run File "Data_Sync_Cube_Between_Servers_async.py", line 193, in transfer File "TM1py\Services\CellService.py", line 652, in write File "TM1py\Utils\Utils.py", line 34, in wrapper File "TM1py\Services\CellService.py", line 92, in wrapper File "TM1py\Services\CellService.py", line 772, in write_through_unbound_process File "TM1py\Services\CellService.py", line 955, in _execute_write_statements File "TM1py\Services\CellService.py", line 969, in execute_unbound_process File "TM1py\Utils\Utils.py", line 48, in wrapper File "TM1py\Services\ProcessService.py", line 292, in execute_process_with_return AttributeError: 'NoneType' object has no attribute 'json'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "asyncio\windows_events.py", line 66, in _cancel_overlapped
OSError: [WinError 6] The handle is invalid
2022-07-14 12:19:38,685 - ERROR - Unexpected Error
Traceback (most recent call last):
File "Data_Sync_Cube_Between_Servers_async.py", line 370, in
To Reproduce Using asyncio and ThreadPoolExecutor to asynchronously read/write data for a cube between two TM1 servers (target server is on IBM cloud). The error intermittently occurs during large data transfers.
Expected behavior When a response is not returned from TM1 and response.json() is not able to be interpreted, return an easier to determine error message that TM1 has not responded to the request.
Version TM1py 1.9.1 TM1 Server Version: 11.8