All of task for ver0.8

Coordinator
Jul 14, 2011 at 2:56 AM

All of task for ver 0.8 that I think.

  • Counter Operation ( New Cassandra Feature )
  • CQL Operation ( New Cassandra Feature )
  • Merge Connection Pool improvement to 0.7 and 0.8 ( Improvement by kenjiishi )
  • Operation check for BooleanType, FloatType, DoubleType, DateType ( Test by Cassandra0.8 and compare with java client )
  • Change Reflection mapping to Caching mapping logic ( Improve MappingUtil class )
  • Write Document

If you think of other feature or fix, comment this entry. And you want to be assigned task in the above then tell me in comment.

I also manage Secondlife Webservice project. So I am busy until mid-August. I am not care this project release date. Just take your time and enjoy project :-)

Developer
Jul 15, 2011 at 3:07 PM

I'm not catching up 0.8 as my project has some constraints and I'm still bound to 0.6 unfortunately.

But I'm more than happy to merge connection pools and mutation improvements I've done. What do you think about this plan:

* I'll merge all the changes in the forks to 0.6 branch of main fork.

* I'll then enter issues in Issue Tracker, discuss there, and if we agreed to take a change, I'll merge them back to the primary branch.

Once I'm done with it, I'm interested in improving reflections. We probably want some researches before writing the code. One possibility is EmitMapper as mentioned in Issue 2. Another possibility is to rely on one of serializers built into .NET such as JSON serializer. I'm not sure which one works best and the fastest. But we could discuss again once I'm done with the merge.

How does this sound to you?

Coordinator
Jul 15, 2011 at 4:18 PM

I wished implement new feature. I implement Counter and CQL probably.

I think good about merge plan. Get_string_property("token map") is deleted in Cassandra0.7. So, We should merge to primary branch carefully. I am using describe_schema_versions() method instead but it is not enough test.

I think more IO cost than mapping cost. So no problem with simple mapping. And I don't want to use mapping library because we have to care library version up. I think delegate cache or expression tree cache is good like next link. What do you think?

http://neue.cc/category/programming/page/2

http://ufcpp.net/study/csharp/misc_dynamic.html

http://d.hatena.ne.jp/machi_pon/20090821/1250813986

Developer
Jul 15, 2011 at 4:49 PM

Counter and CQL looks like great features, I wish I can use it someday :)

Thank you for the agreement. I'll start merging forks soon. I'm thinking to replace get_string_property to describe_ring, and I've added some unit test cases, so yes, I'll test before I merge to primary branch.

For the mapping, I was referring to .NET standard serializers. The ideas you listed look good, but if we could utilize whatever Microsoft has already tested, isn't that great? I haven't looked into much, but .NET has a few serializers built in Entity Framework and MVC. I think we should first look into if they're reusable.

If they're not usable from Cassandraemon, links you listed are great references. Compiling lambda sounds great, but it might cost some. I did expression compiler before, which took me 3 or 4 days to build. We could compare pros/cons and costs if .NET built-in classes can't help us much.

Developer
Jul 15, 2011 at 5:04 PM

Okay, I have merged all forks to 0.6 branch. I'll start entering issues and assign to you.

Coordinator
Jul 15, 2011 at 6:06 PM

Now Cassandraemon store one propety to one column because of secondary index. So I serialize per property.

My image of serializer is to transform one object to one byte array or xml or json. Entity Framework have per property serializer? 

Coordinator
Oct 7, 2011 at 1:54 PM

Now, We implement following feature.

Completed

  • Counter Operation ( New Cassandra Feature )
  • CQL Operation ( New Cassandra Feature )
  • Merge Connection Pool improvement to 0.7 and 0.8 ( Improvement by kenjiishi )
  • Operation check for BooleanType, FloatType, DoubleType, DateType ( Test by Cassandra0.8 and compare with java client )

UnCompleted

  • Change Reflection mapping to Caching mapping logic ( Improve MappingUtil class )
  • Write Document

I think We should implement "Cacheing mapping logic" in ver1.0.

The rest is Document only. "New Feature", "Migration", "Configuration" must be written from scratch. I think following assingment. Little update of other document are assigned to sabro. Are you Ok?

  1. Getting Started
  2. Query Operation
  3. Regist Operation
  4. Extension Methods
  5. Convert Object
  6. FullText Search
  7. Configuration kojiishi
  8. Other Topics

And do you have any regrets about release 0.8?

Developer
Oct 10, 2011 at 1:49 PM

I'm okay for configuration section of documents assigned to me.

For object mappings, the feature is pretty attractive, but I don't think I can afford time for that for now. Sorry about this.

Coordinator
Oct 10, 2011 at 7:20 PM

Thank you for undertaking :)