Comments (8)
Probably the bug is in the getInnerType function which returns the comparator type in a form like 'org.apache.cassandra.db.marshal.UTF8Type' and not 'UTF8Type'.
from helenus.
I have changed getInnerType (index.js file) function to:
function getInnerType(str){
console.log(str)
var index = str.indexOf('(');
return index > 0 ? getType(str.substring(index + 1, str.length - 1)) : getType(str);
}
and it works.
from helenus.
Dear Gian,
Thanks for the help. However, it didn't work at my side. I think the problem is not the text parsing issue, since the string at my side passed to getInnerType() is 'ReversedType' not the 'ReversedType(org.apache.cassandra.db.marshal.UTF8Type)' as expected.
So that the Marshal object can only get 'ReversedType' and cannot identify it. My question now is why the res.schema at Line 433 in /lib/connection.js didn't pass the full type string? It should be 'ReversedType(org.apache.cassandra.db.marshal.UTF8Type)' instead of 'ReversedType' only.
from helenus.
What version of C* are you using? and what version of CQL?
from helenus.
The version of C is: gcc version 4.2.1 (Based on Apple Inc. build 5658).
Cassandra and CQL versions:
Cassandra 1.1.0 (I also tried Cassandra 1.1.3)
CQL spec 2.0.0
Thrift protocol 19.30.0
By the way, I'm working on MacOSX version 10.7.4, and the Nodejs is 0.8.5 binary download from http://www.nodejs.org.
I guess the problem comes from column family schema parsing. Where can I find this part from Helenus source?
from helenus.
So it seems the CQL query, as you have stated, is returning ReversedType
rather than ReversedType(UTF8Type)
. This poses a problem as the marshaller doesn't know how to deserialize it. I'll put in a result of IDENTITY
that should fix this. Expect to see an update soon,
from helenus.
This fix is published in npm under version 0.5.7
from helenus.
It now works fine here. Many thanks for the efforts.
from helenus.
Related Issues (20)
- row.slice() is deserializing data twice giving incorrect values HOT 3
- multi-get thrift support? HOT 2
- formatCQL modifies params HOT 4
- TypeError: value is out of bounds HOT 4
- No way to know when reconnected HOT 4
- Please tag releases of Helenus HOT 3
- HelenusInvalidRequestException: cannot parse '0' as hex bytes HOT 2
- TimeUUIDType seems to be deserialized to a wrong type HOT 1
- Pooling flawed, or improper usage? HOT 12
- CQL3 Map Collection type returning interesting value HOT 8
- ConnectionPool.close should take a callback HOT 1
- TS and TTL returned by row.forEach are incorrect HOT 3
- Problems with timeuuid, CQL3 and INSERT HOT 2
- Adding support for removing multiple columns HOT 7
- Exceptions being thrown when callbacks should suffice — intended? HOT 1
- Connection Pool only using one member HOT 1
- Selecting empty/null collection columns cause "Cannot read property 'length' of null" exceptions HOT 5
- Thrift column family issue. HOT 5
- How to insert an entity containing a collection item, say a set or list? HOT 3
- CQL3 UUID type does not work HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from helenus.