Skip to content

Conversation

@jai1
Copy link
Contributor

@jai1 jai1 commented Mar 13, 2017

Motivation

Want to reduce yca usage in pulsar

Modifications

Removed code under PULSAR_ENABLE_DEPRECATED_METHOD

Result

@jai1 jai1 self-assigned this Mar 13, 2017
@jai1 jai1 added the c++ label Mar 13, 2017
@jai1 jai1 added this to the 1.17 milestone Mar 13, 2017
Copy link
Contributor

@merlimat merlimat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See discussion in #241. The compile macro was there to allow building internal version without the need for a wrapper.

@msb-at-yahoo
Copy link
Contributor

what's the plan for ABI compat break? force a rebuild to take the new client?

@msb-at-yahoo
Copy link
Contributor

👍

@jai1
Copy link
Contributor Author

jai1 commented Mar 13, 2017

@merlimat - Changes for #241 are incomplete since we don't have the macro in Auth.cc so if you try to compile the code with -DPULSAR_ENABLE_DEPRECATED_METHOD it will fail since there is no implementation for

  • AuthData
  • static AuthDataPtr Disabled();
  • static AuthDataPtr YcaV1(const std::string& ycaAppId);

@msb-at-yahoo - we are planning to maintain an internal branch with changes for "Auth.h" and "Auth.cc", we will pull changes from OS master and push to the internal branch whenever we build a tag.

Since these Auth.* files are rarely changed we will rarely have to do a manual merge.

@merlimat
Copy link
Contributor

@jai1 Fine with me.. I was also skeptic of feasibility of source compatibility. Please make sure to check in with @saandrews .

@msb-at-yahoo
Copy link
Contributor

msb-at-yahoo commented Mar 13, 2017 via email

@merlimat
Copy link
Contributor

makes sense. longer term we should look at something influenced by SASL so that support for internal auth protocols don't break the ABI.

It's already possible, the new auth api takes a "plugin" library as a parameter, so you can pass in a new auth implementation.

The problem was related to the earlier C++ auth api that was having YCA as an always viable option.

Copy link
Contributor

@saandrews saandrews left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The hope is that with the plug-in model of Auth, these 2 files would hardly change, hence the local branch would rarely conflict.

@jai1
Copy link
Contributor Author

jai1 commented Mar 13, 2017

@merlimat @msb-at-yahoo - I think we already broke the ABI by changing
static AuthDataPtr Disabled(); TO
static AuthenticationPtr Disabled();
Since AuthData is not of the same size as Authentication class

Trying to fix it without having to change Client.cc

@merlimat
Copy link
Contributor

merlimat commented Mar 13, 2017

I think we already broke the ABI by changing

ABI was broken on renaming the c++ namespace from cms to pulsar

@jai1
Copy link
Contributor Author

jai1 commented Mar 14, 2017

Please don't merge the branch I will me making more changes to fix the broken ABI so that we can compile by adding -Dpulsar=cms

@jai1 jai1 force-pushed the yahoo branch 2 times, most recently from 4fba118 to 21ad622 Compare March 14, 2017 18:39
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this message?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove message?

@jai1 jai1 force-pushed the yahoo branch 2 times, most recently from 643eff2 to cbbb56f Compare March 18, 2017 03:05
@jai1
Copy link
Contributor Author

jai1 commented Mar 18, 2017

@msb-at-yahoo @saandrews @merlimat - With this we maintain backward compatibility with Yahoo code (only -Dpulsar=cms and Auth.*) and leave a smaller footprint of depreciated methods.

Need a +1 on this please

}
}

using namespace pulsar;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed using namespace pulsar;

Copy link
Contributor

@merlimat merlimat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, though I can't really verify the binary compatibility

@jai1 jai1 merged commit 8cee846 into apache:master Mar 22, 2017
@jai1 jai1 deleted the yahoo branch April 17, 2017 17:01
hrsakai pushed a commit to hrsakai/pulsar that referenced this pull request Dec 10, 2020
hangc0276 pushed a commit to hangc0276/pulsar that referenced this pull request May 26, 2021
Fix apache#290 
This PR supports continuous offset for kop.
Since this PR disable the orginal design of mapping between Pulsar `MessageId` and Kafka `offset`. So I just ignore some UnitTest based on the original desing. 
Maybe we can raise up another issue to track how we deal with these ignored tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants