Exemple #1
0
int main(int argc, char** argv)
{
  mallopt(M_MMAP_MAX, DEFAULT_MMAP_MAX_VAL);
  ob_init_memory_pool();
  tbsys::WarningBuffer::set_warn_log_on(true);
  //easy_pool_set_allocator(ob_malloc);
  ObUpdateServerMain* ups = ObUpdateServerMain::get_instance();
  int ret = OB_SUCCESS;
  if (NULL == ups)
  {
    fprintf(stderr, "cannot start updateserver, new ObUpdateServerMain failed\n");
    ret = OB_ERROR;
  }
  else
  {
    ret = ups->start(argc, argv);
    if (OB_SUCCESS == ret)
    {
      ups->destroy();
    }
    BaseMain::restart_server(argc, argv);
  }

  return ret;
}
Exemple #2
0
    int ObUpsRpcStub :: get_thread_buffer_(ObDataBuffer& data_buff)
    {
      int err = OB_SUCCESS;

      ThreadSpecificBuffer::Buffer* rpc_buffer = NULL;
      // get buffer for rpc send and receive
      ObUpdateServerMain* obj = ObUpdateServerMain::get_instance();
      if (NULL == obj)
      {
        TBSYS_LOG(ERROR, "get ObUpdateServerMain instance failed.");
      }
      else
      {
        const ObUpdateServer& server = obj->get_update_server();
        rpc_buffer = server.get_rpc_buffer();
        if (NULL == rpc_buffer)
        {
          TBSYS_LOG(ERROR, "get thread rpc buff failed:buffer[%p].", rpc_buffer);
          err = OB_ERROR;
        }
        else
        {
          rpc_buffer->reset();
          data_buff.set_data(rpc_buffer->current(), rpc_buffer->remain());
        }
      }

      return err;
    }
Exemple #3
0
 void inc_stat(const uint64_t table_id, const int32_t index, const int64_t inc_value)
 {
   UNUSED(table_id);
   ObUpdateServerMain *main = ObUpdateServerMain::get_instance();
   if (NULL == main)
   {
     TBSYS_LOG(ERROR, "get updateserver main null pointer");
   }
   else
   {
     UpsStatMgr &stat_mgr = main->get_update_server().get_stat_mgr();
     stat_mgr.inc(UpsStatMgr::SSTABLE_STAT_TOTAL, index, inc_value);
   }
 }
Exemple #4
0
int main(int argc, char** argv)
{
  mallopt(M_MMAP_MAX, DEFAULT_MMAP_MAX_VAL);
  ob_init_memory_pool();
  ObUpdateServerMain* ups = ObUpdateServerMain::get_instance();
  int ret = OB_SUCCESS;
  if (NULL == ups) 
  {
    fprintf(stderr, "cannot start updateserver, new ObUpdateServerMain failed\n");
    ret = OB_ERROR;
  }
  else 
  {
    ret = ups->start(argc, argv, PUBLIC_SECTION_NAME);
    if (OB_SUCCESS == ret)
    {
      ups->destroy();
    }
  }

  return ret;
}
int test_main(int argc, char **argv)
{
  UNUSED(argc);
  UNUSED(argv);
  ObUpdateServerMain *main = ObUpdateServerMain::get_instance();
  ObUpsTableMgr &tm = main->get_update_server().get_table_mgr();
  CommonSchemaManagerWrapper schema_mgr;
  tbsys::CConfig config;
  schema_mgr.parse_from_file("test_schema.ini", config);
  tm.set_schemas(schema_mgr);

  MemTable memtable;
  MemTableRowIterator row_iter;
  ObUpsMutator mutator;
  ObMutatorCellInfo cellinfo;
  uint64_t trans_descriptor = 0;

  int ret = memtable.init();
  assert(OB_SUCCESS == ret);

  cellinfo.op_type.set_ext(ObActionFlag::OP_INSERT);
  cellinfo.cell_info.table_id_ = 1001;
  cellinfo.cell_info.row_key_ = make_rowkey("rk0001_00000000000", &allocator_);
  cellinfo.cell_info.column_id_ = 5;
  cellinfo.cell_info.value_.set_int(1023);
  ret = mutator.get_mutator().add_cell(cellinfo);
  assert(OB_SUCCESS == ret);

  cellinfo.cell_info.value_.set_int(1, true);
  ret = mutator.get_mutator().add_cell(cellinfo);
  assert(OB_SUCCESS == ret);

  cellinfo.cell_info.table_id_ = 1002;
  cellinfo.cell_info.value_.set_int(1024);
  ret = mutator.get_mutator().add_cell(cellinfo);
  assert(OB_SUCCESS == ret);

  prepare_mutator(mutator.get_mutator());

  ret = memtable.start_transaction(WRITE_TRANSACTION, trans_descriptor);
  assert(OB_SUCCESS == ret);
  ret = memtable.start_mutation(trans_descriptor);
  assert(OB_SUCCESS == ret);
  ret = memtable.set(trans_descriptor, mutator);
  assert(OB_SUCCESS == ret);
  ret = memtable.end_mutation(trans_descriptor, false);
  assert(OB_SUCCESS == ret);
  ret = memtable.end_transaction(trans_descriptor, false);
  assert(OB_SUCCESS == ret);

  ret = row_iter.init(&memtable);
  assert(OB_SUCCESS == ret);

  uint64_t check_id = 1001;
  sstable::ObSSTableRow sstable_row;
  ObRowkey rowkey(NULL, 1);
  while (OB_SUCCESS == row_iter.next_row())
  {
    ret = row_iter.get_row(sstable_row);
    assert(OB_SUCCESS == ret);
    assert(check_id++ == sstable_row.get_table_id());
    sstable_row.get_rowkey(rowkey);
    assert(cellinfo.cell_info.row_key_ == rowkey);

    for (int32_t i = 0; i < sstable_row.get_obj_count();)
    {
      int64_t intv = 0;
      sstable_row.get_obj(i++)->get_int(intv);
      fprintf(stderr, "table_id=%lu column_id=%lu ", sstable_row.get_table_id(), intv);
      fprintf(stderr, "value=[%s]\n", common::print_obj(*sstable_row.get_obj(i++)));
    }
  }
  row_iter.reset_iter();
  check_id = 1001;
  while (OB_SUCCESS == row_iter.next_row())
  {
    ret = row_iter.get_row(sstable_row);
    assert(OB_SUCCESS == ret);
    assert(check_id++ == sstable_row.get_table_id());
    sstable_row.get_rowkey(rowkey);
    assert(cellinfo.cell_info.row_key_ == rowkey);

    for (int32_t i = 0; i < sstable_row.get_obj_count();)
    {
      int64_t intv = 0;
      sstable_row.get_obj(i++)->get_int(intv);
      fprintf(stderr, "table_id=%lu column_id=%lu ", sstable_row.get_table_id(), intv);
      fprintf(stderr, "value=[%s]\n", common::print_obj(*sstable_row.get_obj(i++)));
    }
  }
  return 0;
}