Skip to content

Deprecated Method Cassandra\ExecutionOptions starting of Cassandra 1.3 #866

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
mub1989 opened this issue May 24, 2022 · 17 comments · Fixed by #869
Closed

Deprecated Method Cassandra\ExecutionOptions starting of Cassandra 1.3 #866

mub1989 opened this issue May 24, 2022 · 17 comments · Fixed by #869

Comments

@mub1989
Copy link

mub1989 commented May 24, 2022

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
@github-actions
Copy link

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

@Geolim4
Copy link
Member

Geolim4 commented May 24, 2022

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.

@mub1989
Copy link
Author

mub1989 commented May 24, 2022

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.

@Geolim4
Copy link
Member

Geolim4 commented May 24, 2022

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

@mub1989
Copy link
Author

mub1989 commented May 24, 2022

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

Sure waiting for the update :)

@Geolim4
Copy link
Member

Geolim4 commented May 24, 2022

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.

@Geolim4 Geolim4 changed the title Deprecated Function Cassandra\ExecutionOptions::__construct() in Cassandra/Driver.php Deprecated Method Cassandra\ExecutionOptions starting of Cassandra 1.3 May 24, 2022
@Geolim4
Copy link
Member

Geolim4 commented May 24, 2022

For tracking purpose:

Before SDK 1.3:
image

Starting of SDK 1.3:
image

Geolim4 added a commit that referenced this issue May 24, 2022
Geolim4 added a commit that referenced this issue May 24, 2022
@Geolim4
Copy link
Member

Geolim4 commented May 24, 2022

Try that.

(I'll fix the CI later)

@mub1989
Copy link
Author

mub1989 commented May 24, 2022

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

@Geolim4
Copy link
Member

Geolim4 commented May 24, 2022

Dunno why phpstan did not flagged that oO

Geolim4 added a commit that referenced this issue May 24, 2022
@mub1989
Copy link
Author

mub1989 commented May 25, 2022

must be an instance

Dunno why phpstan did not flagged that oO

Great it works now. Can you put a release? :)

@Geolim4
Copy link
Member

Geolim4 commented May 25, 2022

Great, can you give me a feedback on v9 too ? :D

@Geolim4
Copy link
Member

Geolim4 commented May 25, 2022

8.1.3 has been released 🍰

@mub1989
Copy link
Author

mub1989 commented May 25, 2022

8.1.3 has been released 🍰

Thank you very much for your prompt action :)
I will test v9 and give you a feedback ASAP

@Geolim4
Copy link
Member

Geolim4 commented Jun 5, 2022

Hello @mub1989, any news :D

@mub1989
Copy link
Author

mub1989 commented Jun 7, 2022

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 :)

@Geolim4 Geolim4 mentioned this issue Jun 9, 2022
6 tasks
@Geolim4
Copy link
Member

Geolim4 commented Jun 9, 2022

I tested it by myself on v9, it's ok.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants