DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Weekly Reports
Week 1 (23rd April - 1th May) : Community Bonding Period
TitleExplanationNext week plan Mentors CommentsCommunity Bonding Period
Fixing issue which are directly related/part of projectSetup 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/samplesKevin 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
TitleExplanationNext week plan Mentors CommentsCommunity Bonding Period
Fixing issue which are directly related/part of projectWent through Hazelcast JCache Documentation/samples
http://docs.hazelcast.org/docs/3.3/manual/html/jcache.htmlGo through Gora Datastore implementations
Hazelcast JCache Documentation/samples
Fixing related issuesKevin 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
TitleExplanationNext week plan Mentors CommentsCommunity Bonding Period
Fixing issue which are directly related/part of projectFurther went through Hazelcast JCache Documentation/samples
http://docs.hazelcast.org/docs/3.3/manual/html/jcache.htmlprovided 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.
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 issuesKevin 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-panelKevin 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
TitleExplanationNext week plan Mentors CommentsCommunity Bonding Period
Fixing issue which are directly related/part of projectI 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_TOStart 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 5 (21th May - 28th May) : Coding Period
TitleExplanationNext week plan Mentors CommentsCoding Period Followed tutorial on writing data stores for gora. Writing a new DataStore for Gora HOW_TO
Created initial project structure on branch GORA-409 committed the changes
https://github.com/djkevincr/gora/commits/GORA-409
I am glad that Kevin Ratnasekera has started coding the gora-jcache module. He should continue to work on other Gora issues if he has the time and should also keep Lewis John McGibbney updated with his progress. Thanks, this is much better.
Week 6 (28th May -5thJune) : Coding Period
TitleExplanationNext week plan Mentors CommentsCoding 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=sharingBased on design I came up with and based on mentors feedback
I will carryout the implementation.Week 7 (5th June -12thJune) : Coding Period
TitleExplanationNext week plan Mentors CommentsCoding 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=sharingBased on design I came up with and based on mentors feedback
I will carryout the implementation.Week 8 (12th June -19thJune) : Coding Period
TitleExplanationNext week plan Mentors CommentsCoding 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.
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
Based on design I came up with and based on mentors feedback
I will carryout the implementation.
3 Comments
Lewis John McGibbney
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
Kevin Ratnasekera
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
Lewis John McGibbney
Thank you Kevin Ratnasekera. Can you please change the formatting of the links to JIRA issues? It is very untidy. Please just provide hyperlinks.