Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add clustered db info endpoint #1278

Closed
chewbranca opened this issue Apr 11, 2018 · 4 comments
Closed

Add clustered db info endpoint #1278

chewbranca opened this issue Apr 11, 2018 · 4 comments
Labels

Comments

@chewbranca
Copy link
Contributor

When you query db info by way of GET /dbname, it returns an aggregated info blob based on the first responding shard replica for each range. We should have a clustered endpoint that returns the full set of shard infos, non aggregated.

Proposed API endpoint:

GET /dbname/_info

Expected Behavior

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

  • Version used:
  • Browser Name and version:
  • Operating System and version (desktop or mobile):
  • Link to your project:
@chewbranca
Copy link
Contributor Author

First pass at this in 29e5ea9

Sample output:

$ curl -u adm:pass localhost:15984/foo/_info
{
  "cluster": [
    {
      "q": 8,
      "n": 3,
      "w": 2,
      "r": 2
    }
  ],
  "c0000000-dfffffff": [
    {
      "node": "node1@127.0.0.1",
      "db_name": "shards/c0000000-dfffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 363
      },
      "disk_size": 363,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477072436594",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "93e9c614cfdec506b2a3e86e0f862e40"
    },
    {
      "node": "node3@127.0.0.1",
      "db_name": "shards/c0000000-dfffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 372
      },
      "disk_size": 372,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477073236134",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "d4bd9acb9185c40017146de61ce9ef8c"
    },
    {
      "node": "node2@127.0.0.1",
      "db_name": "shards/c0000000-dfffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 372
      },
      "disk_size": 372,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477071956592",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "d2c4a3791428ce91c3d724ec026e7e97"
    }
  ],
  "20000000-3fffffff": [
    {
      "node": "node1@127.0.0.1",
      "db_name": "shards/20000000-3fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 426
      },
      "disk_size": 426,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477072464646",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "a6efd374c089f24c4f4e74430fd96dfb"
    },
    {
      "node": "node2@127.0.0.1",
      "db_name": "shards/20000000-3fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 417
      },
      "disk_size": 417,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477071999464",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "6f8713a17ff7573d25daad683a995f66"
    },
    {
      "node": "node3@127.0.0.1",
      "db_name": "shards/20000000-3fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 417
      },
      "disk_size": 417,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477073242300",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "3b1ac6799e50623aa4b1ee318751ed8f"
    }
  ],
  "60000000-7fffffff": [
    {
      "node": "node1@127.0.0.1",
      "db_name": "shards/60000000-7fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 408
      },
      "disk_size": 408,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477072462895",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "9fdb9c1c0c0d9d001223bab8ad3df6a8"
    },
    {
      "node": "node3@127.0.0.1",
      "db_name": "shards/60000000-7fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 426
      },
      "disk_size": 426,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477073237239",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "e8f0d07865f2cb72ca973387f45943d1"
    },
    {
      "node": "node2@127.0.0.1",
      "db_name": "shards/60000000-7fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 435
      },
      "disk_size": 435,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477071961138",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "dedca0b3bdafb9ce343e7e6f46df184b"
    }
  ],
  "e0000000-ffffffff": [
    {
      "node": "node1@127.0.0.1",
      "db_name": "shards/e0000000-ffffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 417
      },
      "disk_size": 417,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477072430401",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "3d5d18b024e87099e2c06550e547601a"
    },
    {
      "node": "node2@127.0.0.1",
      "db_name": "shards/e0000000-ffffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 417
      },
      "disk_size": 417,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477071956612",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "c0c15b7452a4a27b0548896454e58b62"
    },
    {
      "node": "node3@127.0.0.1",
      "db_name": "shards/e0000000-ffffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 435
      },
      "disk_size": 435,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477073236154",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "19c301651c7805e563e604a05ff5a4d2"
    }
  ],
  "a0000000-bfffffff": [
    {
      "node": "node1@127.0.0.1",
      "db_name": "shards/a0000000-bfffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 372
      },
      "disk_size": 372,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477072435637",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "10b05bd79fa0c687c9278a1be4d52655"
    },
    {
      "node": "node3@127.0.0.1",
      "db_name": "shards/a0000000-bfffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 372
      },
      "disk_size": 372,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477073236989",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "016120607e4033560501df5200348d79"
    },
    {
      "node": "node2@127.0.0.1",
      "db_name": "shards/a0000000-bfffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 363
      },
      "disk_size": 363,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477071956934",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "9e3007e8b50000e0d8d8edbd6503f618"
    }
  ],
  "00000000-1fffffff": [
    {
      "node": "node1@127.0.0.1",
      "db_name": "shards/00000000-1fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 426
      },
      "disk_size": 426,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477072463438",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "f02ab0ed43b3e8d751858cb09ef68629"
    },
    {
      "node": "node3@127.0.0.1",
      "db_name": "shards/00000000-1fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 435
      },
      "disk_size": 435,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477073242390",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "4eafc1a5d99f0186262d6e18b158bff2"
    },
    {
      "node": "node2@127.0.0.1",
      "db_name": "shards/00000000-1fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 426
      },
      "disk_size": 426,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477072002749",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "4f5b9ad166ad799e8fcee215c12b0174"
    }
  ],
  "40000000-5fffffff": [
    {
      "node": "node1@127.0.0.1",
      "db_name": "shards/40000000-5fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 372
      },
      "disk_size": 372,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477072465036",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "517a4b80cb945f782221b54ce2a19289"
    },
    {
      "node": "node3@127.0.0.1",
      "db_name": "shards/40000000-5fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 363
      },
      "disk_size": 363,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477073241846",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "3e83fc508aec5d54b7030f8f9e916097"
    },
    {
      "node": "node2@127.0.0.1",
      "db_name": "shards/40000000-5fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 363
      },
      "disk_size": 363,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477071999486",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "5a1c4c279b7cf6f7fa74f0fdb90379a7"
    }
  ],
  "80000000-9fffffff": [
    {
      "node": "node1@127.0.0.1",
      "db_name": "shards/80000000-9fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 372
      },
      "disk_size": 372,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477072445630",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "5a9f7552bdb04a938754fbc6060a2639"
    },
    {
      "node": "node3@127.0.0.1",
      "db_name": "shards/80000000-9fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 372
      },
      "disk_size": 372,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477073237006",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "acc4c996ecc232d053badfaab5da07a3"
    },
    {
      "node": "node2@127.0.0.1",
      "db_name": "shards/80000000-9fffffff/foo.1523467682",
      "engine": "couch_bt_engine",
      "doc_count": 0,
      "doc_del_count": 0,
      "update_seq": 0,
      "purge_seq": 0,
      "compact_running": false,
      "sizes": {
        "active": 0,
        "external": 0,
        "file": 363
      },
      "disk_size": 363,
      "data_size": 0,
      "other": {
        "data_size": 0
      },
      "instance_start_time": "1523477071956950",
      "disk_format_version": 6,
      "committed_update_seq": 0,
      "compacted_seq": 0,
      "uuid": "5a51709992c93ade79824a0bb989265e"
    }
  ]
}

@mikerhodes
Copy link
Contributor

Does the cluster field belong in a database-level /db/_info API? (looks like cluster level defaults rather than database-specific values).

@wohali
Copy link
Member

wohali commented Jun 8, 2018

@chewbranca Can we get this PR landed? I think it'd be useful (modulo mike's comments)

@nickva
Copy link
Contributor

nickva commented Nov 13, 2023

This is already implemented.

% http $DB/_dbs_info'?key="db1"'

[
    {
        "info": {
            "cluster": {
                "n": 1,
                "q": 2,
                "r": 1,
                "w": 1
            },
            "compact_running": false,
            "db_name": "db1",
            "disk_format_version": 8,
            "doc_count": 0,
            "doc_del_count": 0,
            "instance_start_time": "1666880205",
            "props": {},
            "purge_seq": "0-g1AAAABTeJzLYWBgYMpgTmHgz8tPSTV0MDQy1zMAQsMckEQeC5BkaABS_4EgK5EBp8pEhqR6iJIsACz0Fj4",
            "sizes": {
                "active": 0,
                "external": 0,
                "file": 16696
            },
            "update_seq": "0-g1AAAACTeJzLYWBgYMpgTmHgz8tPSTV0MDQy1zMAQsMckEQeC5BkaABS_4EgK4M5kSEXKMBubmCckmRkhKkLp0mJDEn1KEYYGCcZmiVjMSILABMCI_8"
        },
        "key": "db1"
    }
]

Since the conversation stalled after 5 years, closing. Feel free to re-open / continue the discussion.

@nickva nickva closed this as completed Nov 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants