2025-04-09 18:14:40,895 - FireflyDB - INFO - Script starting...
2025-04-09 18:14:40,895 - FireflyDB - INFO - Starting FireflyDatabase test...
2025-04-09 18:14:40,896 - FireflyDB - INFO - Creating FireflyDatabase instance...
2025-04-09 18:14:40,940 - FireflyDB - DEBUG - Firefly library loaded from: G:\firefly\client\examples\libFirefly.dll
2025-04-09 18:14:40,940 - FireflyDB - DEBUG - Connecting to 135.134.202.221:6379
2025-04-09 18:14:40,944 - FireflyDB - DEBUG - Client created successfully
2025-04-09 18:14:40,944 - FireflyDB - DEBUG - Authenticating...
2025-04-09 18:14:40,964 - FireflyDB - DEBUG - Authentication successful
2025-04-09 18:14:40,964 - FireflyDB - INFO - Connected to Firefly server
2025-04-09 18:14:40,964 - FireflyDB - INFO - Performing operations...
2025-04-09 18:14:40,965 - FireflyDB - INFO - About to call ping()...
2025-04-09 18:14:40,965 - FireflyDB - DEBUG - Sending PING command
2025-04-09 18:14:40,965 - FireflyDB - DEBUG - Executing command: PING with args: 
2025-04-09 18:14:40,981 - FireflyDB - DEBUG - ExecuteCommand result pointer: b'+PONG\r\n'
2025-04-09 18:14:40,982 - FireflyDB - DEBUG - Result is already a Python bytes object, no need to free
2025-04-09 18:14:40,982 - FireflyDB - DEBUG - Received response: +PONG


2025-04-09 18:14:40,982 - FireflyDB - DEBUG - Raw ping response: '+PONG

'
2025-04-09 18:14:40,983 - FireflyDB - DEBUG - Response type: <class 'str'>, value: '+PONG

'
2025-04-09 18:14:40,983 - FireflyDB - DEBUG - Normalized response: 'PONG'
2025-04-09 18:14:40,983 - FireflyDB - DEBUG - PONG found in normalized response - ping successful
2025-04-09 18:14:40,983 - FireflyDB - INFO - Ping completed with result: True
2025-04-09 18:14:40,983 - FireflyDB - INFO - After ping attempt
2025-04-09 18:14:40,983 - FireflyDB - INFO - Testing Database
2025-04-09 18:14:40,996 - FireflyDB - DEBUG - StringSet result for key 'test': True
2025-04-09 18:14:41,015 - FireflyDB - DEBUG - StringGet raw result pointer: b'"hello world"'
2025-04-09 18:14:41,015 - FireflyDB - DEBUG - Result is already a Python bytes object, no need to free
2025-04-09 18:14:41,016 - FireflyDB - DEBUG - StringGet for key 'test': "hello world"
2025-04-09 18:14:41,016 - FireflyDB - INFO - Value: "hello world"
2025-04-09 18:14:41,018 - FireflyDB - DEBUG - ListRightPush on key 'mylist' with value 'item1'. New length: 4
2025-04-09 18:14:41,033 - FireflyDB - DEBUG - ListRightPush on key 'mylist' with value 'item2'. New length: 5
2025-04-09 18:14:41,036 - FireflyDB - DEBUG - ListRightPush on key 'mylist' with value 'item3'. New length: 6
2025-04-09 18:14:41,045 - FireflyDB - DEBUG - ListRange raw result: b'item1\nitem2\nitem3\nitem1\nitem2\nitem3'
2025-04-09 18:14:41,046 - FireflyDB - DEBUG - ListRange on key 'mylist' from 0 to -1. Values: ['item1', 'item2', 'item3', 'item1', 'item2', 'item3']
2025-04-09 18:14:41,046 - FireflyDB - INFO - List items:
2025-04-09 18:14:41,046 - FireflyDB - INFO -   - item1
2025-04-09 18:14:41,047 - FireflyDB - INFO -   - item2
2025-04-09 18:14:41,047 - FireflyDB - INFO -   - item3
2025-04-09 18:14:41,047 - FireflyDB - INFO -   - item1
2025-04-09 18:14:41,047 - FireflyDB - INFO -   - item2
2025-04-09 18:14:41,047 - FireflyDB - INFO -   - item3
2025-04-09 18:14:41,061 - FireflyDB - DEBUG - HashSet on key 'user:1', field 'name': False
2025-04-09 18:14:41,071 - FireflyDB - DEBUG - HashSet on key 'user:1', field 'email': False
2025-04-09 18:14:41,076 - FireflyDB - DEBUG - HashGet raw result: b'John'
2025-04-09 18:14:41,076 - FireflyDB - DEBUG - HashGet on key 'user:1', field 'name': John
2025-04-09 18:14:41,077 - FireflyDB - INFO - Name: John
2025-04-09 18:14:41,089 - FireflyDB - DEBUG - HashGetAll raw result: b'email=john@example.com\nname=John'
2025-04-09 18:14:41,089 - FireflyDB - DEBUG - HashGetAll on key 'user:1': {'email': 'john@example.com', 'name': 'John'}
2025-04-09 18:14:41,090 - FireflyDB - INFO - User data:
2025-04-09 18:14:41,090 - FireflyDB - INFO -   email: john@example.com
2025-04-09 18:14:41,090 - FireflyDB - INFO -   name: John
2025-04-09 18:14:41,090 - FireflyDB - INFO - 
Pipeline Operations:
2025-04-09 18:14:41,090 - FireflyDB - DEBUG - Setting pipeline mode to True
2025-04-09 18:14:41,090 - FireflyDB - DEBUG - SetPipelineMode to True: True
2025-04-09 18:14:41,091 - FireflyDB - INFO - Note: When in pipeline mode, operations return 'QUEUED' instead of actual values
2025-04-09 18:14:41,091 - FireflyDB - INFO - Values aren't actually set until flush_pipeline() is called
2025-04-09 18:14:41,091 - FireflyDB - DEBUG - Setting batch size to 100
2025-04-09 18:14:41,091 - FireflyDB - DEBUG - SetBatchSize to 100: True
2025-04-09 18:14:41,091 - FireflyDB - INFO - Adding dummy entries for each data type to handle Redis pipeline shifting
2025-04-09 18:14:41,092 - FireflyDB - DEBUG - StringSet result for key 'pipeline:string:0': False
2025-04-09 18:14:41,092 - FireflyDB - DEBUG - ListRightPush on key 'pipeline:list:0' with value 'dummy-list-item'. New length: 0
2025-04-09 18:14:41,092 - FireflyDB - DEBUG - HashSet on key 'pipeline:hash', field 'dummy-field': False
2025-04-09 18:14:41,092 - FireflyDB - DEBUG - StringSet result for key 'pipeline:string:1': False
2025-04-09 18:14:41,092 - FireflyDB - DEBUG - ListRightPush on key 'pipeline:list' with value 'list-item-1'. New length: 0
2025-04-09 18:14:41,093 - FireflyDB - DEBUG - HashSet on key 'pipeline:hash', field 'field-1': False
2025-04-09 18:14:41,093 - FireflyDB - DEBUG - StringSet result for key 'pipeline:string:2': False
2025-04-09 18:14:41,093 - FireflyDB - DEBUG - ListRightPush on key 'pipeline:list' with value 'list-item-2'. New length: 0
2025-04-09 18:14:41,093 - FireflyDB - DEBUG - HashSet on key 'pipeline:hash', field 'field-2': False
2025-04-09 18:14:41,094 - FireflyDB - DEBUG - StringSet result for key 'pipeline:string:3': False
2025-04-09 18:14:41,094 - FireflyDB - DEBUG - ListRightPush on key 'pipeline:list' with value 'list-item-3'. New length: 0
2025-04-09 18:14:41,094 - FireflyDB - DEBUG - HashSet on key 'pipeline:hash', field 'field-3': False
2025-04-09 18:14:41,094 - FireflyDB - DEBUG - StringSet result for key 'pipeline:string:4': False
2025-04-09 18:14:41,094 - FireflyDB - DEBUG - ListRightPush on key 'pipeline:list' with value 'list-item-4'. New length: 0
2025-04-09 18:14:41,095 - FireflyDB - DEBUG - HashSet on key 'pipeline:hash', field 'field-4': False
2025-04-09 18:14:41,095 - FireflyDB - DEBUG - StringSet result for key 'pipeline:string:5': False
2025-04-09 18:14:41,095 - FireflyDB - DEBUG - ListRightPush on key 'pipeline:list' with value 'list-item-5'. New length: 0
2025-04-09 18:14:41,095 - FireflyDB - DEBUG - HashSet on key 'pipeline:hash', field 'field-5': False
2025-04-09 18:14:41,095 - FireflyDB - DEBUG - GetQueuedCommandCount: 18
2025-04-09 18:14:41,095 - FireflyDB - INFO - Queued commands: 18
2025-04-09 18:14:41,096 - FireflyDB - INFO - Results should be obtained after flushing the pipeline
2025-04-09 18:14:41,103 - FireflyDB - DEBUG - Flushed pipeline. Response: +OK


2025-04-09 18:14:41,103 - FireflyDB - INFO - Pipeline flush result: +OK


2025-04-09 18:14:41,103 - FireflyDB - INFO - After pipeline flush, we need to exit pipeline mode to get actual values
2025-04-09 18:14:41,103 - FireflyDB - DEBUG - Setting pipeline mode to False
2025-04-09 18:14:41,103 - FireflyDB - DEBUG - SetPipelineMode to False: True
2025-04-09 18:14:41,103 - FireflyDB - INFO - Pipeline mode disabled
2025-04-09 18:14:41,103 - FireflyDB - INFO - 
Verifying results (note: Redis pipeline responses might not match input order):
2025-04-09 18:14:41,105 - FireflyDB - DEBUG - StringGet raw result pointer: b''
2025-04-09 18:14:41,105 - FireflyDB - DEBUG - StringGet for key 'pipeline:string:0': Key not found
2025-04-09 18:14:41,106 - FireflyDB - INFO - String key:0 = None
2025-04-09 18:14:41,107 - FireflyDB - DEBUG - StringGet raw result pointer: b'dummy-string'
2025-04-09 18:14:41,107 - FireflyDB - DEBUG - Result is already a Python bytes object, no need to free
2025-04-09 18:14:41,108 - FireflyDB - DEBUG - StringGet for key 'pipeline:string:1': dummy-string
2025-04-09 18:14:41,108 - FireflyDB - INFO - String key:1 = dummy-string
2025-04-09 18:14:41,116 - FireflyDB - DEBUG - StringGet raw result pointer: b'string-value-1'
2025-04-09 18:14:41,116 - FireflyDB - DEBUG - Result is already a Python bytes object, no need to free
2025-04-09 18:14:41,116 - FireflyDB - DEBUG - StringGet for key 'pipeline:string:2': string-value-1
2025-04-09 18:14:41,116 - FireflyDB - INFO - String key:2 = string-value-1
2025-04-09 18:14:41,118 - FireflyDB - DEBUG - StringGet raw result pointer: b'string-value-2'
2025-04-09 18:14:41,118 - FireflyDB - DEBUG - Result is already a Python bytes object, no need to free
2025-04-09 18:14:41,118 - FireflyDB - DEBUG - StringGet for key 'pipeline:string:3': string-value-2
2025-04-09 18:14:41,118 - FireflyDB - INFO - String key:3 = string-value-2
2025-04-09 18:14:41,129 - FireflyDB - DEBUG - StringGet raw result pointer: b'string-value-3'
2025-04-09 18:14:41,129 - FireflyDB - DEBUG - Result is already a Python bytes object, no need to free
2025-04-09 18:14:41,129 - FireflyDB - DEBUG - StringGet for key 'pipeline:string:4': string-value-3
2025-04-09 18:14:41,129 - FireflyDB - INFO - String key:4 = string-value-3
2025-04-09 18:14:41,131 - FireflyDB - DEBUG - StringGet raw result pointer: b'string-value-4'
2025-04-09 18:14:41,131 - FireflyDB - DEBUG - Result is already a Python bytes object, no need to free
2025-04-09 18:14:41,132 - FireflyDB - DEBUG - StringGet for key 'pipeline:string:5': string-value-4
2025-04-09 18:14:41,132 - FireflyDB - INFO - String key:5 = string-value-4
2025-04-09 18:14:41,151 - FireflyDB - DEBUG - ListRange raw result: None
2025-04-09 18:14:41,151 - FireflyDB - DEBUG - ListRange on key 'pipeline:list' from 0 to -1. Empty list
2025-04-09 18:14:41,152 - FireflyDB - INFO - List items: []
2025-04-09 18:14:41,153 - FireflyDB - DEBUG - ListRange raw result: b'list-item-1\nlist-item-2\nlist-item-3\nlist-item-4\nlist-item-5\nlist-item-1\nlist-item-2\nlist-item-3\nlist-item-4\nlist-item-5'
2025-04-09 18:14:41,153 - FireflyDB - DEBUG - ListRange on key 'pipeline:list' from 0 to -1. Values: ['list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5', 'list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5']
2025-04-09 18:14:41,154 - FireflyDB - INFO - List items: ['list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5', 'list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5']
2025-04-09 18:14:41,168 - FireflyDB - DEBUG - ListRange raw result: b'list-item-1\nlist-item-2\nlist-item-3\nlist-item-4\nlist-item-5\nlist-item-1\nlist-item-2\nlist-item-3\nlist-item-4\nlist-item-5'
2025-04-09 18:14:41,168 - FireflyDB - DEBUG - ListRange on key 'pipeline:list' from 0 to -1. Values: ['list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5', 'list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5']
2025-04-09 18:14:41,168 - FireflyDB - INFO - List items: ['list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5', 'list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5']
2025-04-09 18:14:41,170 - FireflyDB - DEBUG - ListRange raw result: b'list-item-1\nlist-item-2\nlist-item-3\nlist-item-4\nlist-item-5\nlist-item-1\nlist-item-2\nlist-item-3\nlist-item-4\nlist-item-5'
2025-04-09 18:14:41,170 - FireflyDB - DEBUG - ListRange on key 'pipeline:list' from 0 to -1. Values: ['list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5', 'list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5']
2025-04-09 18:14:41,170 - FireflyDB - INFO - List items: ['list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5', 'list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5']
2025-04-09 18:14:41,183 - FireflyDB - DEBUG - ListRange raw result: b'list-item-1\nlist-item-2\nlist-item-3\nlist-item-4\nlist-item-5\nlist-item-1\nlist-item-2\nlist-item-3\nlist-item-4\nlist-item-5'
2025-04-09 18:14:41,183 - FireflyDB - DEBUG - ListRange on key 'pipeline:list' from 0 to -1. Values: ['list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5', 'list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5']
2025-04-09 18:14:41,183 - FireflyDB - INFO - List items: ['list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5', 'list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5']
2025-04-09 18:14:41,185 - FireflyDB - DEBUG - ListRange raw result: b'list-item-1\nlist-item-2\nlist-item-3\nlist-item-4\nlist-item-5\nlist-item-1\nlist-item-2\nlist-item-3\nlist-item-4\nlist-item-5'
2025-04-09 18:14:41,185 - FireflyDB - DEBUG - ListRange on key 'pipeline:list' from 0 to -1. Values: ['list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5', 'list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5']
2025-04-09 18:14:41,185 - FireflyDB - INFO - List items: ['list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5', 'list-item-1', 'list-item-2', 'list-item-3', 'list-item-4', 'list-item-5']
2025-04-09 18:14:41,196 - FireflyDB - DEBUG - HashGetAll raw result: b'list-item-1=list-item-2\nlist-item-3=list-item-4\nlist-item-5=list-item-1\nlist-item-2=list-item-3\nlist-item-4=list-item-5'
2025-04-09 18:14:41,196 - FireflyDB - DEBUG - HashGetAll on key 'pipeline:hash': {'list-item-1': 'list-item-2', 'list-item-3': 'list-item-4', 'list-item-5': 'list-item-1', 'list-item-2': 'list-item-3', 'list-item-4': 'list-item-5'}
2025-04-09 18:14:41,196 - FireflyDB - INFO - Hash fields:
2025-04-09 18:14:41,196 - FireflyDB - INFO -   list-item-1: list-item-2
2025-04-09 18:14:41,197 - FireflyDB - INFO -   list-item-3: list-item-4
2025-04-09 18:14:41,197 - FireflyDB - INFO -   list-item-5: list-item-1
2025-04-09 18:14:41,197 - FireflyDB - INFO -   list-item-2: list-item-3
2025-04-09 18:14:41,197 - FireflyDB - INFO -   list-item-4: list-item-5
2025-04-09 18:14:41,199 - FireflyDB - DEBUG - Delete result: b'*12\r\n+field-5\r\n+hash-value-5\r\n+field-4\r\n+hash-value-4\r\n+field-3\r\n+hash-value-3\r\n+field-2\r\n+hash-value-2\r\n+field-1\r\n+hash-value-1\r\n+dummy-field\r\n+dummy-value\r\n'
2025-04-09 18:14:41,199 - FireflyDB - DEBUG - Complex pipeline response for DEL on key 'pipeline:string:0', assuming success
2025-04-09 18:14:41,209 - FireflyDB - DEBUG - Delete result: b':1\r\n'
2025-04-09 18:14:41,209 - FireflyDB - DEBUG - Deleted key 'pipeline:list:0'. Count: 1
2025-04-09 18:14:41,211 - FireflyDB - DEBUG - Delete result: b':1\r\n'
2025-04-09 18:14:41,211 - FireflyDB - DEBUG - Deleted key 'pipeline:string:1'. Count: 1
2025-04-09 18:14:41,222 - FireflyDB - DEBUG - Delete result: b':1\r\n'
2025-04-09 18:14:41,223 - FireflyDB - DEBUG - Deleted key 'pipeline:list:1'. Count: 1
2025-04-09 18:14:41,225 - FireflyDB - DEBUG - Delete result: b':0\r\n'
2025-04-09 18:14:41,225 - FireflyDB - DEBUG - Deleted key 'pipeline:string:2'. Count: 0
2025-04-09 18:14:41,231 - FireflyDB - DEBUG - Delete result: b':1\r\n'
2025-04-09 18:14:41,231 - FireflyDB - DEBUG - Deleted key 'pipeline:list:2'. Count: 1
2025-04-09 18:14:41,233 - FireflyDB - DEBUG - Delete result: b':0\r\n'
2025-04-09 18:14:41,233 - FireflyDB - DEBUG - Deleted key 'pipeline:string:3'. Count: 0
2025-04-09 18:14:41,246 - FireflyDB - DEBUG - Delete result: b':1\r\n'
2025-04-09 18:14:41,247 - FireflyDB - DEBUG - Deleted key 'pipeline:list:3'. Count: 1
2025-04-09 18:14:41,248 - FireflyDB - DEBUG - Delete result: b':0\r\n'
2025-04-09 18:14:41,248 - FireflyDB - DEBUG - Deleted key 'pipeline:string:4'. Count: 0
2025-04-09 18:14:41,258 - FireflyDB - DEBUG - Delete result: b':1\r\n'
2025-04-09 18:14:41,258 - FireflyDB - DEBUG - Deleted key 'pipeline:list:4'. Count: 1
2025-04-09 18:14:41,260 - FireflyDB - DEBUG - Delete result: b':0\r\n'
2025-04-09 18:14:41,260 - FireflyDB - DEBUG - Deleted key 'pipeline:string:5'. Count: 0
2025-04-09 18:14:41,273 - FireflyDB - DEBUG - Delete result: b':1\r\n'
2025-04-09 18:14:41,273 - FireflyDB - DEBUG - Deleted key 'pipeline:list:5'. Count: 1
2025-04-09 18:14:41,275 - FireflyDB - DEBUG - Delete result: b':0\r\n'
2025-04-09 18:14:41,275 - FireflyDB - DEBUG - Deleted key 'pipeline:hash'. Count: 0
2025-04-09 18:14:41,276 - FireflyDB - INFO - Cleanup complete
2025-04-09 18:14:41,276 - FireflyDB - DEBUG - Destroying client connection
2025-04-09 18:14:41,284 - FireflyDB - DEBUG - Client connection destroyed
2025-04-09 18:14:41,285 - FireflyDB - INFO - Test completed
2025-04-09 18:14:41,285 - FireflyDB - INFO - Script completed successfully.
