Weekly Reports

  • Week 1 (23rd April - 1th May) : Community Bonding Period

    Title
    Explanation
    Next week plan
    Mentors Comments 
    Community Bonding Period
    Fixing issue which are directly related/part of  project 

    Setup dev environment for Gora

    Went through MemStore implementation

    provided a fix for https://issues.apache.org/jira/browse/GORA-447

     

    Go through Gora Datastore implementations
    Hazelcast JCache Documentation/samples
    Kevin Ratnasekera needs to send Lewis John McGibbney links to his reports on a weekly basis. There has been little community engagement and this needs to change if the community is to understand what this project is all about. Additionally, absolutely very little communication has taken place between student and mentor. This needs to change!
  • Week 2 (1th May - 7th May) : Community Bonding Period

    Title
    Explanation
    Next week plan
    Mentors Comments 
    Community Bonding Period
    Fixing issue which are directly related/part of  project 

    Went through Hazelcast JCache Documentation/samples
    http://docs.hazelcast.org/docs/3.3/manual/html/jcache.html

    https://hazelcast.com/use-cases/caching/jcache-provider/

    Go through Gora Datastore implementations
    Hazelcast JCache Documentation/samples
    Fixing related issues

    Kevin Ratnasekera needs to send Lewis John McGibbney links to his reports on a weekly basis. There has been little community engagement and this needs to change if the community is to understand what this project is all about. Additionally, absolutely very little communication has taken place between student and mentor. This needs to change!
  • Week 3 (7th May - 14th May) : Community Bonding Period

    Title
    Explanation
    Next week plan
    Mentors Comments 
    Community Bonding Period
    Fixing issue which are directly related/part of  project 

    Further went through Hazelcast JCache Documentation/samples
    http://docs.hazelcast.org/docs/3.3/manual/html/jcache.html

    provided a fix for https://issues.apache.org/jira/browse/GORA-274

    Lewis John McGibbney Please find the sample here. I have done some modification to the Hazelcast-JCache Sample which used to demonstrate database caching.

    https://github.com/djkevincr/JCache-Samples/blob/master/hazelcast-code-samples/jcache/src/main/java/com/hazelcast/examples/application/Main.java

    Lewis John McGibbney

    Apologizes for any inconvenience.

    This sample demonstrate basic database caching using Hazelcast.

    Database calls such as read have inherent latency. What caches does is that provides in  memory storage for data so that it avoids database hit when each time the data is retrieved from database thus avoiding the latency associated. The same concepts can be applied to writes as well.

    Hazelcast provides Caches which interface is pretty similar to Java HashMaps which can be used to implement Caches. These maps should implement CacheLoader and CacheWritter interfaces which basically handles reading and writing data from back end database to Cache.

    This sample is not written in mindset of distributed caching. In line 121 I have modified the hazelcast.xml so that it forms a cluster when main program is run on several JVMs. I have tested the scenarios running program in several JVMs and find out that caching is correctly working for distributed mode.

    Go through Apache Gora Codebase, Datastore Implementations
    Hazelcast JCache Documentation/samples
    Fixing related issues

    Kevin Ratnasekera it would be nice to see evidence of your Hazelcast JCache work. Where is this? I do not see a clone of Hazelcast in your Github repository. You should clone it and work from master branch https://github.com/hazelcast/hazelcast/. Please also consider addressing issues which are on the Gora roadmap for the next release instead of very trivial issues.
    https://issues.apache.org/jira/browse/GORA/?selectedTab=com.atlassian.jira.jira-projects-plugin:roadmap-panel

     

    Kevin Ratnasekera can you point specifically to the line numbers and also document your code to explain what the cache'ing does and how it is implemented? Please try and be more verbose when inserting links into these weekly reports. If it is done correctly the first time then you only need to do it once. If the links are useless then I will keep asking you to change them and it will waste both you and my own time. Thanks

  • Week 4 (14th May - 21th May) : Community Bonding Period

    Title
    Explanation
    Next week plan
    Mentors Comments 
    Community Bonding Period
    Fixing issue which are directly related/part of  project 

    I have setup HBase and ran queries over it using gora-hbase data store. This setup will be useful for implementing caching over data store.
    Followed tutorial on Log manager.
    Followed sample on back-end database caching using Hazelcast JCache
    Followed tutorial on writing data stores for gora.  Writing a new DataStore for Gora HOW_TO

    Start implementing JCache data-store.
    Work on fixing issues.


    Please send me a link to your gora-jcache module and gora-hazelcast branch. It would be good for your to provide a class diagram of your intentions before you progress with work. I would like to see this. Thanks
  • Week 6 (28th May -5thJune) : Coding Period

    Title
    Explanation
    Next week plan
    Mentors Comments 
    Coding Period
    Researched on implementing JCache store and finalized my intentions on coding.
    I had a look at different data store implementation for Gora and different JCache solutions.
    Finally came up with a rough design and class diagram what I will be coding in next few months.
    https://docs.google.com/document/d/15NTbAsU9USniDkMmgzVORN3ZjymlUVGGoNQgYXBz4Wc/edit?usp=sharing

     

    Based on design I came up with and based on mentors feedback
    I will carryout the implementation.


     
  • Week 7 (5th June -12thJune) : Coding Period

    Title
    Explanation
    Next week plan
    Mentors Comments 
    Coding Period
    I have came up with the initial POC for this and committed to the project branch. POC is based on basic design.
    https://docs.google.com/document/d/15NTbAsU9USniDkMmgzVORN3ZjymlUVGGoNQgYXBz4Wc/edit?usp=sharing
    Based on design I came up with and based on mentors feedback
    I will carryout the implementation.


     
  • Week 8 (12th June -19thJune) : Coding Period

    Title
    Explanation
    Next week plan
    Mentors Comments 
    Coding Period

    I am currently testing the POC version. I am using GORA HBase datastore to fetch avro data beans into the cache. I am getting following exception.

    The reasons for the following stack trace is that Avro data beans does not implement serialized JAVA interface. Hazelcast caches uses pure java serialization to keep data beans into in memory format. HBase store always returns string ( Char Sequence ) as in Avro Utf8 when data beans are retrieved from data store that leads to following exception. Avro Utf8 is not in java serializable form. ( Does implement serializable interface )   I will for work this for a better solution. However I have tested code POC for Avro databeans over other datatypes which perfectly worked fine for me.

    Exception in thread "main" com.hazelcast.nio.serialization.HazelcastSerializationException: java.io.NotSerializableException: org.apache.avro.util.Utf8
        at com.hazelcast.internal.serialization.impl.SerializationUtil.handleException(SerializationUtil.java:61)
        at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toBytes(AbstractSerializationService.java:141)
        at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toData(AbstractSerializationService.java:116)
        at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toData(AbstractSerializationService.java:104)
        at com.hazelcast.cache.impl.AbstractInternalCacheProxy.putAsyncInternal(AbstractInternalCacheProxy.java:190)
        at com.hazelcast.cache.impl.AbstractCacheProxy.put(AbstractCacheProxy.java:200)
        at com.hazelcast.cache.impl.CacheProxy.put(CacheProxy.java:75)
        at com.hazelcast.cache.impl.CacheProxy.put(CacheProxy.java:140)
        at org.apache.gora.jcache.store.JCacheStore.put(JCacheStore.java:104)
        at org.apache.gora.jcache.store.JCacheStore.put(JCacheStore.java:41)
        at org.apache.gora.tutorial.log.LogManager.main(LogManager.java:262)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

    I keep following threads as a reference and similar situations are reported in earlier situations.

    https://www.mail-archive.com/search?l=dev@gora.apache.org&q=subject:%22Re%5C%3A+Should+MongoDB+know+about+Utf8%5C%3F%22&o=newest&f=1

    http://osdir.com/ml/dev.nutch.apache.org/2015-09/msg00294.html

    https://issues.apache.org/jira/browse/NUTCH-2028

    https://issues.apache.org/jira/browse/AVRO-1502

    https://issues.apache.org/jira/browse/GORA-388

    https://issues.apache.org/jira/browse/AVRO-803

    Based on design I came up with and based on mentors feedback
    I will carryout the implementation.


     

 

 

 

  • No labels

3 Comments

  1. Kevin Ratnasekera where is your report for week 3? If you are not working on issue in Gora then there is something wrong. You have only submitted one pull request in 3 weeks and I would like to see you coding more. Please make sure to send me a directly link to THAT WEEKS REPORT. I have repeatedly asked for this every Sunday. I have not seen you interacting much with the Gora community and have only seen one pull request. There are hundreds of open issues. Please step up the game and begin taking on more coding tasks. Thank you

  2. Hi Lewis John McGibbney

    Apologizes for the delay. I have gone through several issues and finally submitted another. I ll look into more issues as you mentioned. 

    Regards

    Kevin

    1. Thank you Kevin Ratnasekera. Can you please change the formatting of the links to JIRA issues? It is very untidy. Please just provide hyperlinks.