API changes can be classified as *adding API methods*,* removing API methods
* and *updating the API method signatures*. If you remove a method or
change the signature of method, then your changes are not backward
compatible. i.e. you cannot run a released product like AS 5.2.0 with
kernel patch0001.  All our patches should be backward compatible.

Lets say you have added new methods like what Ajith has done. In this case
the changes are backward compatible AFAIU, because you can run a released
product with patch0001. Here in this specific case, the registry core API
methods are used by the registry indexing component(4.2.1). Now if a user
performs a feature upgrade of the indexing features from 4.2.0 to 4.2.1 in
a released product, then there will be runtime errors. Because the
patch0001 is not applied in released products.

To rectify this problem we need to create a feature for the Carbon kernel
patch0001 and this feature should be declared as a dependency in all the
new features in chunk02 release. Now when the user installs the registry
indexing 4.2.1 version, feature manager automatically installs Carbon
kernel patch.

Now how should we rectify build time issue? You cannot build chunk02 in a
clean repo. The simple solution would be to get a svn external  of the
Carbon kernel patch0001 into chunk02 space and integrate with the chunk02
build. This way you won't get the compilation errors.

Carbon kernel team will create a feature for the kernel patch0001. You guys
have to update your new features to include the kernel patch0001 feature.

Thanks,
Sameera.


On Fri, Sep 27, 2013 at 10:24 AM, Isuru Udana <[email protected]> wrote:

>
>
>
> On Fri, Sep 27, 2013 at 10:18 AM, Isuru Wimalasundera <[email protected]>wrote:
>
>> Hi IsuruU
>>
>>
>> On Fri, Sep 27, 2013 at 8:49 AM, Isuru Udana <[email protected]> wrote:
>>
>>> On Fri, Sep 27, 2013 at 8:27 AM, Nuwan Dias <[email protected]> wrote:
>>>
>>>> Since this is an addition of 2 new methods, I don't think it'll have an
>>>> impact unless someone tries to install new features to a product released
>>>> on an older chunk. Ex: If someone tries to install APIM (chunk2) features
>>>> on top of AS 5.2.0 (chunk1), then there'll be a problem. But in this kind
>>>> of situation we anyway have to ask people to install all kernel patches
>>>> since there are bug fixes anyway.
>>>>
>>>
>>> No. This has an impact for the next chunk releases.
>>> If we are going to create a org.wso2.carbon.registry.indexing 4.2.2 or
>>> some component use this api change in chunk-03 or later chunks. we always
>>> have to build patch0001 even it is released.
>>>
>>
>> I am not sure why that is necessary, its true you have to build patch0001
>> till its being released with the chunk02 in case if any component have a
>> dependency to the so called API change. but after the release AFAIK all the
>> Kernel fixes done in patch0001 should be reflected in the Nexus repo ,
>> right? or am I missing something here.
>>
> AFAIK we only deploy kernel patch .zip to the nexus not the jars inside
> the patch.
>
>>
>>>
>>>> Thanks,
>>>> NuwanD.
>>>>
>>>>
>>>> On Fri, Sep 27, 2013 at 12:51 AM, Ajith Vitharana <[email protected]>wrote:
>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Sep 27, 2013 at 12:22 AM, Sumedha Rubasinghe <[email protected]
>>>>> > wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Sep 26, 2013 at 11:57 PM, Ajith Vitharana <[email protected]>wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Sep 26, 2013 at 11:35 PM, Lalaji Sureshika 
>>>>>>> <[email protected]>wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> From this fix, only a new method has added and no existing API
>>>>>>>> method changes happened .Thus will this be cause any problem..?
>>>>>>>> From APIM side,we need this fix,to integrate registry pagination in
>>>>>>>> APIM [which has increased the performance of APIs loading in APIStore 
>>>>>>>> ] and
>>>>>>>> this is a bug fix,which hasn't identified before chunk1 release out..
>>>>>>>>
>>>>>>>
>>>>>>> Feature development and integrations can't avoid after chunk01
>>>>>>> release, we have to face limitations or bugs.
>>>>>>> If the feature/bug is critical for the given release, we need some
>>>>>>> alternative  than preventing API changes.
>>>>>>>
>>>>>>
>>>>>> But this violates chunk release  strategy. Your features will not be
>>>>>> compatible within platform.
>>>>>> Please get Sameera's input on this.
>>>>>>
>>>>>
>>>>> It is not practical to develop/integrate feature at  *chunk01* to
>>>>> compatible in all over the platform.
>>>>>
>>>>> Eg: How to test/integrate AM with pagination at the *chunk01* without
>>>>> proper AM build (or distributed setup) ???.
>>>>> At the chunk01 we did AS, IS but pagination didn't involved with those
>>>>> products.
>>>>>
>>>>> My suggestion is we should restrict the API changes once we finished
>>>>> at least  one release of the all the products from a given kernel release.
>>>>> Because kernel 4.2.0 based product releases are major releases that
>>>>> involves many new features and integrations, therefore nothing to wonder
>>>>> with API changes.
>>>>>
>>>>> Thanks
>>>>> Ajith.
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Thanks
>>>>>>> Ajith
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> Thanks;
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Sep 26, 2013 at 11:19 PM, Isuru Udana <[email protected]>wrote:
>>>>>>>>
>>>>>>>>> Hi Lalaji,
>>>>>>>>>
>>>>>>>>> AFAIK api changes are not allowed for Kernel patches. We had a
>>>>>>>>> similar case for 4.1.3 and had to revert that at the last moment.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Thu, Sep 26, 2013 at 11:14 PM, Lalaji Sureshika <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Isuru,
>>>>>>>>>>
>>>>>>>>>> This fix was added by Ajith as part of the fix an issue on
>>>>>>>>>> registry pagination with APIM integration.AFAIK,by this change a new
>>>>>>>>>> getter/setter has added to PaginationContext class. Refer the jira 
>>>>>>>>>> [1]
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> [1] https://wso2.org/jira/browse/REGISTRY-2003
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks;
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Thu, Sep 26, 2013 at 11:03 PM, Isuru Udana <[email protected]>wrote:
>>>>>>>>>>
>>>>>>>>>>>  I am getting the following build failure.
>>>>>>>>>>>
>>>>>>>>>>> [ERROR] Failed to execute goal
>>>>>>>>>>> org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile
>>>>>>>>>>> (default-compile) on project org.wso2.carbon.registry.indexing: 
>>>>>>>>>>> Compilation
>>>>>>>>>>> failure
>>>>>>>>>>> [ERROR]
>>>>>>>>>>> /media/isuru/WSO2/svn/public/4.2.0/platform/4.2.0/components/registry/org.wso2.carbon.registry.indexing/4.2.1/src/main/java/org/wso2/carbon/registry/indexing/service/ContentBasedSearchService.java:[140,33]
>>>>>>>>>>> cannot find symbol
>>>>>>>>>>> [ERROR] symbol  : method setLength(int)
>>>>>>>>>>> [ERROR] location: class
>>>>>>>>>>> org.wso2.carbon.registry.core.pagination.PaginationContext
>>>>>>>>>>> [ERROR] -> [Help 1]
>>>>>>>>>>> [ERROR]
>>>>>>>>>>> [ERROR] To see the full stack trace of the errors, re-run Maven
>>>>>>>>>>> with the -e switch.
>>>>>>>>>>> [ERROR] Re-run Maven using the -X switch to enable full debug
>>>>>>>>>>> logging.
>>>>>>>>>>> [ERROR]
>>>>>>>>>>> [ERROR] For more information about the errors and possible
>>>>>>>>>>> solutions, please read the following articles:
>>>>>>>>>>> [ERROR] [Help 1]
>>>>>>>>>>> http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
>>>>>>>>>>> [ERROR]
>>>>>>>>>>> [ERROR] After correcting the problems, you can resume the build
>>>>>>>>>>> with the command
>>>>>>>>>>> [ERROR]   mvn <goals> -rf :org.wso2.carbon.registry.indexing
>>>>>>>>>>>
>>>>>>>>>>> This got resolved after building kernel patch0001.
>>>>>>>>>>> Are we allow API changes in kernel patches now ?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> *Isuru Udana*
>>>>>>>>>>> *
>>>>>>>>>>> *
>>>>>>>>>>> Senior *
>>>>>>>>>>> Software Engineer
>>>>>>>>>>> *
>>>>>>>>>>> WSO2 Inc.; http://wso2.com
>>>>>>>>>>> email: [email protected] cell: +94 77 3791887
>>>>>>>>>>> blog: http://mytecheye.blogspot.com/
>>>>>>>>>>> twitter: http://twitter.com/isudana
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Dev mailing list
>>>>>>>>>>> [email protected]
>>>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Lalaji Sureshika
>>>>>>>>>>  WSO2, Inc.;  http://wso2.com/
>>>>>>>>>> email: [email protected]; cell: +94 71 608 6811
>>>>>>>>>> blog: http://lalajisureshika.blogspot.com
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> *Isuru Udana*
>>>>>>>>> *
>>>>>>>>>  *
>>>>>>>>> Senior *
>>>>>>>>> Software Engineer
>>>>>>>>> *
>>>>>>>>> WSO2 Inc.; http://wso2.com
>>>>>>>>> email: [email protected] cell: +94 77 3791887
>>>>>>>>> blog: http://mytecheye.blogspot.com/
>>>>>>>>> twitter: http://twitter.com/isudana
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Lalaji Sureshika
>>>>>>>> WSO2, Inc.;  http://wso2.com/
>>>>>>>> email: [email protected]; cell: +94 71 608 6811
>>>>>>>> blog: http://lalajisureshika.blogspot.com
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Ajith Vitharana.
>>>>>>> WSO2 Inc. - http://wso2.org
>>>>>>> Email  :  [email protected]
>>>>>>> Mobile : +94772217350
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Dev mailing list
>>>>>>> [email protected]
>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> /sumedha
>>>>>> m: +94 773017743
>>>>>> b :  bit.ly/sumedha
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Ajith Vitharana.
>>>>> WSO2 Inc. - http://wso2.org
>>>>> Email  :  [email protected]
>>>>> Mobile : +94772217350
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Dev mailing list
>>>>> [email protected]
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Nuwan Dias
>>>>
>>>> Senior Software Engineer - WSO2, Inc. http://wso2.com
>>>> email : [email protected]
>>>> Phone : +94 777 775 729
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> [email protected]
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> *Isuru Udana*
>>> *
>>>  *
>>> Senior *
>>> Software Engineer
>>> *
>>> WSO2 Inc.; http://wso2.com
>>> email: [email protected] cell: +94 77 3791887
>>> blog: http://mytecheye.blogspot.com/
>>> twitter: http://twitter.com/isudana
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> [email protected]
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> *Isuru Wimalasundera*
>> Senior Software Engineer;
>> WSO2, Inc.; http://wso2.com,
>> mobile: +94 77 920 5641
>>
>
>
>
> --
> *Isuru Udana*
> *
>  *
> Senior *
> Software Engineer
> *
> WSO2 Inc.; http://wso2.com
> email: [email protected] cell: +94 77 3791887
> blog: http://mytecheye.blogspot.com/
> twitter: http://twitter.com/isudana
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
Sameera Jayasoma,
Architect,

WSO2, Inc. (http://wso2.com)
email: [email protected]
blog: http://sameera.adahas.org
twitter: https://twitter.com/sameerajayasoma
flickr: http://www.flickr.com/photos/sameera-jayasoma/collections
Mobile: 0094776364456

Lean . Enterprise . Middleware
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to