Code Monkey home page Code Monkey logo

aerospike-common's Introduction

Aerospike common module

Library for commonly used or shared code. Used by Aerospike Server and Aerospike C Client.

Build

Linux and MacOS

$ make clean
$ make

MacOS XCode

  • Double click xcode/aerospike-common.xcworkspace
  • Click Product -> Build

Windows Visual Studio 2022+

  • Double click vs/aerospike-common.sln
  • Click Build -> Build Solution

aerospike-common's People

Contributors

agsaidi avatar ashishshinde avatar bbulkow avatar bhuvanramk avatar briannichols avatar brihh avatar bwhisler avatar citrusraj avatar cstivers78 avatar dkpaerospike avatar gayathrikaliyamoorthy avatar gooding470 avatar kportertx avatar ksedgwic avatar pratyyy avatar psi-mankoski avatar sajinp avatar srini avatar sumitjindal avatar sunanda avatar sunilvirus avatar uncle-betty avatar wchu-citrusleaf avatar xorphox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aerospike-common's Issues

Add version for aerospike-common

I would like to package this internally, but without an actual version I'd be guessing at what it is (for dependency purposes with different versions of the other clients). Are there any internal markers for this common library/repo version is? Or should I just make it the same as the C client.

as_hashmap->set collision handling

Hello,

as_hashmap's set function maps the hash of a key to it's value. This is fine for numeric values, however, there would be collisions for string values, resulting in lost data.

For example,

as_val k1, v1;
as_val k2, v2;
/* .. init k1 & k2 as strings of unique uuids .. */
as_hashmap x;
/* .. init x .. */
as_hashmap_set(&x, &k1, &v1); /* (1) */
as_hashmap_set(&x, &k2, &v2); /* (2) */

Assuming the hash code function for k1 and k2 return the same /hash/ value, as_hashmap_set will, internally, remove the mapping for k1, even though it has a unique /value/, to make room for k2.

Is this condition, especially for UDFs that produce maps with string keys as result, handled elsewhere or is this an actual issue?

Thanks,
Aaloan

a node in cluster of 5 segfaulted within a minute of starting up

Steps to reproduce:

  1. started asd on 5 nodes ( with no prior data )
  2. wrote 3001 records in total ( saved on disk + in memory )
  3. shut down all nodes
  4. start all 5 nodes again
  5. start writing/reading
  6. One node has crashed within a minute of starting up
Jan 16 2017 13:21:48 GMT: WARNING (as): (signal.c:181) SIGSEGV received, aborting Aerospike Community Edition build 3.11.0.1 os debian8
Jan 16 2017 13:21:48 GMT: WARNING (as): (signal.c:185) stacktrace: found 7 frames
Jan 16 2017 13:21:48 GMT: WARNING (as): (signal.c:185) stacktrace: frame 0: asd(as_sig_handle_segv+0x35) [0x48120f]
Jan 16 2017 13:21:48 GMT: WARNING (as): (signal.c:185) stacktrace: frame 1: /lib/x86_64-linux-gnu/libc.so.6(+0x350e0) [0x7f854ce6d0e0]
Jan 16 2017 13:21:48 GMT: WARNING (as): (signal.c:185) stacktrace: frame 2: asd(cf_queue_push+0xc) [0x5572bf]
Jan 16 2017 13:21:48 GMT: WARNING (as): (signal.c:185) stacktrace: frame 3: asd(ssd_post_write+0x3f2) [0x4f9d8b]
Jan 16 2017 13:21:48 GMT: WARNING (as): (signal.c:185) stacktrace: frame 4: asd(ssd_write_worker+0x12b) [0x4f9ff9]
Jan 16 2017 13:21:48 GMT: WARNING (as): (signal.c:185) stacktrace: frame 5: /lib/x86_64-linux-gnu/libpthread.so.0(+0x80a4) [0x7f854e0340a4]
Jan 16 2017 13:21:48 GMT: WARNING (as): (signal.c:185) stacktrace: frame 6: /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f854cf2087d]

gdb core dump backtrace:

(gdb) bt
#0  cf_queue_lock (q=0x0) at src/main/citrusleaf/cf_queue.c:98
#1  cf_queue_push (q=0x0, ptr=ptr@entry=0x7f84c59fddd8) at src/main/citrusleaf/cf_queue.c:191
#2  0x00000000004f9d8b in ssd_post_write (ssd=0x7f854ca7a418, swb=0x7f848d80e740) at storage/drv_ssd.c:1400
#3  0x00000000004f9ff9 in ssd_write_worker (arg=0x7f854ca7a418) at storage/drv_ssd.c:1449
#4  0x00007f854e0340a4 in start_thread (arg=0x7f84c59fe700) at pthread_create.c:309
#5  0x00007f854cf2087d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.