Deprecated Method Cassandra\ExecutionOptions starting of Cassandra 1.3
mub1989 opened this issue · comments
Configuration
- PhpFastCache version: 8.1.2
- PhpFastCache API version: 3.0.0
- PHP version: 7.4.3
- Operating system: WSL
Getting the below deprecated message
Deprecated: Function Cassandra\ExecutionOptions::__construct() is deprecated in /opt/vhost/vendor/phpfastcache/phpfastcache/lib/Phpfastcache/Drivers/Cassandra/Driver.php on line 173
Hello curious contributor !
Since it seems to be your first contribution, make sure that you've been:
- Reading and searching out our WIKI
- Reading and agreed with our Code Of Conduct
- Reading and understood our Coding Guideline
- Reading our README
If everything looks unclear to you, tell us what 😄
The Phpfastcache Team
Hello @mub1989
Can you tell me if replacing
$options = new Cassandra\ExecutionOptions(
[
'arguments' => ['cache_id' => $item->getKey()],
'page_size' => 1,
]
);
by
$options = [
'arguments' => ['cache_id' => $item->getKey()],
'page_size' => 1,
];
(+ 2 similar occurrences of Cassandra\ExecutionOptions
class.)
works on your side ?
I don't have recreated my Cassandra environment so I'll need you to upgrade this code as I'm completely blind atm.
Thank you for your help.
Hello @mub1989
Can you tell me if replacing
$options = new Cassandra\ExecutionOptions( [ 'arguments' => ['cache_id' => $item->getKey()], 'page_size' => 1, ] );
by
$options = [ 'arguments' => ['cache_id' => $item->getKey()], 'page_size' => 1, ];
(+ 2 similar occurrences of
Cassandra\ExecutionOptions
class.)works on your side ? I don't have recreated my Cassandra environment so I'll need you to upgrade this code as I'm completely blind atm.
Thank you for your help.
Yeah, after replacing it works for me.
Okey, then I'll push a blind update, but before I made a new release please test the changes by temporary switching to dev-master
(v9) or v8.x-dev
.
If it's okay for you, then I'll make the release.
Thank you :D
Okey, then I'll push a blind update, but before I made a new release please test the changes by temporary switching to
dev-master
(v9) orv8.x-dev
.If it's okay for you, then I'll make the release.
Thank you :D
Sure waiting for the update :)
I will probably make a Cassandra config useLegacyExecutionOptions
that allows developers to easily switch to deprecated type if they still have <1.3
version of Cassandra SDK.
Try that.
(I'll fix the CI later)
Try that.
(I'll fix the CI later)
Getting the below error. Return type mixed is not compatible with php v7
Fatal error: Uncaught TypeError: Return value of Phpfastcache\Drivers\Cassandra\Driver::getCompatibleExecutionOptionsArgument() must be an instance of Phpfastcache\Drivers\Cassandra\mixed, array returned in /opt/vhost/vendor/phpfastcache/phpfastcache/lib/Phpfastcache/Drivers/Cassandra/Driver.php:334
Stack trace:
#0 /opt/vhost/vendor/phpfastcache/phpfastcache/lib/Phpfastcache/Drivers/Cassandra/Driver.php(173): Phpfastcache\Drivers\Cassandra\Driver->getCompatibleExecutionOptionsArgument(Array)
#1 /opt/vhost/vendor/phpfastcache/phpfastcache/lib/Phpfastcache/Core/Pool/CacheItemPoolTrait.php(137): Phpfastcache\Drivers\Cassandra\Driver->driverRead(Object(Phpfastcache\Drivers\Cassandra\Item))
#2 /opt/vhost/vendor/phpfastcache/phpfastcache/lib/Phpfastcache/Helper/Psr16Adapter.php(78): Phpfastcache\Drivers\Cassandra\Driver->getItem('Daisycon__Exact...')
#3 /opt/vhost/vendor/daisycon/exact/src/Model/ModelTrait.php(112): Phpfastcache\Helper\Psr16Adapter->get('Daisycon__Exact...')
#4 /opt/vhost/vendor/daisycon/exact/src/Model/Crm/Acc in /opt/vhost/vendor/phpfastcache/phpfastcache/lib/Phpfastcache/Drivers/Cassandra/Driver.php on line 334
Dunno why phpstan did not flagged that oO
must be an instance
Dunno why phpstan did not flagged that oO
Great it works now. Can you put a release? :)
Great, can you give me a feedback on v9 too ? :D
Thank you very much for your prompt action :)
I will test v9 and give you a feedback ASAP
Hi, Sorry for the late reply. Still I could not check it. I'm having some other issues with Cassandra, I'll let you know for sure :)
I tested it by myself on v9, it's ok.